2011-03-27 56 views
0

我有一個腳本,告訴我的按鈕去禁用模式時,字符數超過160,但它不工作。任何想法爲什麼?如何確保禁用按鈕時,字符數超過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()"/> 

回答

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'); 
    } 
}) 
+0

完美地工作..謝謝! – 2011-03-27 08:00:31

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"); 
     }