从Javascript函数设置跨度文本

时间:2016-08-21 17:06:26

标签: javascript html asp.net function textbox

编辑:确保添加''围绕您添加到Javascript函数调用的控件。

我正在使用Asp.net文本框控件并在span标记中设置字符倒计时。当我设置这个作为引用特定控件的jquery时它工作正常。但是,鉴于我将在整个项目中多次使用它,我想将其作为单独的javascript函数进行调整。我需要传递文本框控件(获取当前计数),maxcharacters(允许)和跨度控件(显示剩余的字符)。

以下是我到目前为止所做的工作,除了最后两行之外它是有效的。我得到一个未定义的变量错误,“0x800a138f - JavaScript运行时错误:无法设置未定义或空引用的属性'innerHTML'”。我已经尝试过使用val,value,innertext等。问题似乎是它没有拿起我传递的跨度控件。

HTML

grails.tomcat.jvmArgs = ['-jvm_option_here']

Javascript

    <div class="input-group">
    <asp:TextBox runat="server" ID="textbox1" CssClass="form-control" placeholder="Class Description" MaxLength="75"
         onkeyup="getCount(this,75,'textcharacters');"></asp:TextBox>
    <span class="input-group-addon"  id="textcharacters"></span>
    </div>

任何想法或建议都将不胜感激...... TIA

2 个答案:

答案 0 :(得分:0)

我对asp.net不太了解,但这里是您正在尝试完成的完整客户端版本:

&#13;
&#13;
<!DOCTYPE html>
<html>

<body>
  <textarea id="countdown" oninput="charcalculate('countdown', 'chartext', 75);"></textarea>
  <br/>
  <span id="chartext">750</span> characters left
</body>
<script>
  //Make sure to put this script under the tags, or else, the javascript doesn't know them.
  function charcalculate(textarea, chartext, limit) {
    //                              get the textarea DOM object    get the length of the value of the text area
    var textcount = parseInt(document.getElementById('countdown').value.length);
    //if more than the limit, delete the written character (copy and paste sort of bypasses this)
    if (textcount > limit) {
      document.getElementById('countdown').value = document.getElementById('countdown').value.substring(0, textcount - 1);
      return;
    }
    //     get the span tag DOM object's value/HTML  and subtract the limit by the length of the textarea
    document.getElementById('chartext').innerHTML = limit - textcount;
  }
</script>

</html>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

请参阅上面的编辑说明

添加了aprostophe来控制被添加到Javascript函数调用

<div class="input-group">
<asp:TextBox runat="server" ID="textbox1" CssClass="form-control" placeholder="Class Description" MaxLength="75"
     onkeyup="getCount(this,75,'textcharacters');"></asp:TextBox>
<span class="input-group-addon"  id="textcharacters"></span>
</div>