javascript - 从 asp.net listview 传递输入类型 = text 和 span

标签 javascript asp.net

我有一个 asp.net ListView ,其中包含 2 个输入类型 = 按钮(id=Start、id=Stop)、1 个输入类型 = 文本(id=TimeMInutes)和 1 个跨度(id=spCountDown)。 从所有这些控件(包括 ListView )呈现的 HTML 是...

 <table id="ctl00_ContentPlaceHolder1_lstViewFormulas_itemPlaceholderContainer" style="vertical-align:top; border:solid 1px gray">
        <tr id="ctl00_ContentPlaceHolder1_lstViewFormulas_Tr1" style="vertical-align:top; border:solid 1px gray">
            <td class="ListViewHeader" style="width:20%">
                 <span id="ctl00_ContentPlaceHolder1_lstViewFormulas_lblFormName">Step Name</span></td>
            <td class="ListViewHeader" style="width:10%" align="center">
                 <span id="ctl00_ContentPlaceHolder1_lstViewFormulas_lblTiming">Timing</span></td>
            <td class="ListViewHeader" style="width:30%">
                 <span id="ctl00_ContentPlaceHolder1_lstViewFormulas_Label6">Area Used</span></td>
            <td class="ListViewHeader" style="width:10%">
                 <span id="ctl00_ContentPlaceHolder1_lstViewFormulas_lblClock">Timer</span></td>
            <td class="ListViewHeader" style="width:30%">
                 <span id="ctl00_ContentPlaceHolder1_lstViewFormulas_lblProd">Products</span></td>
        </tr>


        <tr style="">
           <td>
              <span id="ctl00_ContentPlaceHolder1_lstViewFormulas_ctrl0_lblFormName">Step 1</span>
           </td>
           <td>
              <span id="ctl00_ContentPlaceHolder1_lstViewFormulas_ctrl0_lblTiming">20</span>
           </td>
           <td>
              <span id="ctl00_ContentPlaceHolder1_lstViewFormulas_ctrl0_lblAreaUsed">Scalp</span>
           </td>
           <td>

            <input type="button" onclick="countdown(document.getElementById('TimeMinutes'), document.getElementById('spCountDown'))"; value="Start" id="Start" />
            <input type="button" onclick='stopcountdown()'; value="Stop" id="Stop" />


            <input type="text" value='20' id="TimeMinutes" />
              <span id="spCountDown"></span>
           </td>

我正在尝试将“TimeMinutes”输入类型 =“text”和“spCountDown”跨度传递到 JavaScript 函数中。

我尝试了多种方法,包括......

<input type="button" onclick="countdown(document.getElementById('TimeMinutes'), document.getElementById('spCountDown'))"; value="Start" id="Start" />

我还尝试使用输入 ID 在 javascript 函数中查找这些控件,但没有找到正确的行。

我需要从输入 type = text 中获取值,并在 javascript 函数中开始倒计时。

  var interval;
  var seconds=0;
  function countdown(txtminutes, spanid) {
      interval = setInterval(function () {
          var sp = document.getElementById("spanid");
          var minutes = document.getElementById("txtminutes").value
          if (seconds == 0) {
              if (minutes == 0) {
                  sp.innerHTML = "countdown's over!";
                  clearInterval(interval);
                  return;
              } else {
                  minutes--;
                  seconds = 60;
              }
          }
          if (minutes > 0) {
              var minute_text = minutes + (minutes > 1 ? ' minutes' : ' minute');
          } else {
              var minute_text = '';
          }
          var second_text = seconds > 1 ? 'seconds' : 'second';
          sp.innerHTML = minute_text + ' ' + seconds + ' ' + second_text + ' remaining';
          seconds--;
      }, 1000);
  }

  function stopcountdown() {
      window.clearInterval(interval);
      var sp = document.getElementById("CountDown");
      sp.innerHTML = ''
  }

如何传入这些控件以便我可以从右行获取并设置正确的值?

谢谢

最佳答案

您调用 getElementById 两次!

如果你使用这个

<input type="button" onclick="countdown(document.getElementById('TimeMinutes'), document.getElementById('spCountDown'))"; value="Start" id="Start" />

然后改变这个

var minutes = document.getElementById("txtminutes").value;

到此

var minutes = txtminutes.value;

您将元素的引用作为参数传递,然后尝试使用引用的 id 创建对元素的新引用。那是行不通的。只需删除 document.getElementById 部分即可。

另外...不要忘记使用 parseInt() 将字符串转换为 int

关于javascript - 从 asp.net listview 传递输入类型 = text 和 span,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14485004/

相关文章:

asp.net - mysqltransaction对象(mysql)和transactionscope对象(asp.net)之间的区别

asp.net - 使用 Linq 绑定(bind) Gridview 数据源 (asp.net)

c# - 如何在从 asp.net c# 中的另一个下拉列表中选择项目后将项目加载到下拉列表中

javascript - 处理 Promise 拒绝案例 Mocha

javascript - d3.js 选择名称中带有空格的键

javascript - 如何通过 Javascript 对象(如 HTMLElement)进行枚举?

c# - 将 UpdatePanel 用于 asp.net TreeView SelectedNodeChanged 事件

javascript - 使用 CasperJS 将结果写入文件

javascript - 如何使用 jQuery 在动态 DOM 元素上使用 .insertAfter?

javascript - 强制在 Javascript 中为 UpdatePanel 回发?