如何在字符数超过160时确保禁用按钮

时间:2011-03-27 07:17:00

标签: javascript jquery html textbox limit

我有一个脚本,告诉我的按钮在字符数超过160但不起作用时进入禁用模式。知道为什么吗?

这是我的javascript:

     <script>
   function CountLeft(field,max){
       //disable post
       if (field.value.length > max)
          $('#workroom_submit').attr("disable","disable");
       // enable post 
       if (field.value.length <= max)
          $('#workroom_submit').attr("disable","");
       }
    </script>

这是我的HTML:

  <textarea cols="50" rows="3" name="postMsg"  onKeyDown="CountLeft(this.form.text,160);" onKeyUp="CountLeft(this.form.text,160);"></textarea>

  <input type="submit" name="workroom_submit" id="workroom_submit" disable="" value="Post" onclick="updateMsg()"/>

4 个答案:

答案 0 :(得分:1)

我做了一个小例子:http://jsfiddle.net/vKFws/

删除了所有HTML事件绑定并使用了jQuery的事件绑定

<textarea cols="50" rows="3" name='postMsg' id='postMsg'></textarea>

<input type="submit" id="workroom_submit" value="Post"/>

$('#postMsg').keyup(function(){
    var thetext = $(this).val();

    if (thetext.length > 60) {
        $('#workroom_submit').attr('disabled', 'disabled');
    } else {
        $('#workroom_submit').removeAttr('disabled');
    }
})

答案 1 :(得分:1)

jQuery id智能处理所有输入并通过调用val()方法返回值。

function CountLeft(field,max){
       $field = $(field) // convert the field in jQuery object
       //disable post
       if ($field.val().length > max)
          $('#workroom_submit').attr("disabled","disabled"); // the attr name is disabled
       // enable post 
       if ($field.val().length <= max)
          $('#workroom_submit').removeAttr("disable");
       }

答案 2 :(得分:0)

答案 3 :(得分:0)

您可以从以下链接中获得一个想法:

尝试使用disabled属性。

disabled="disabled";