2014-01-23 241 views
0

以下jQuery代碼旨在改變輸入的風格,以防用戶提交表單而不提前填寫字段。除了改變輸入的樣式外,只要字段爲空,它就會阻止submit-event。但是,它也會阻止事件發生。有人知道爲什麼嗎?jQuery禁用提交按鈕

$('document').ready(function() { 
    $('#form1, #form2').submit(function(event) { 
     if($.trim($(this).children('input').val()).length == 0) { 
      $(this).parent().addClass('has-error'); 
      event.preventDefault(); 
     } 
    }); 
}); 

HTML代碼:

<form class="center" id="form1" action="/success" method="get"> 
    <input type="text" name="content" placeholder="Content..." class="form-control input-lg"> 
    <button type="submit">Submit!</button> 
</form> 
+1

似乎做工精細這裏http://jsfiddle.net/j08691/KVWg2 /。 #form2在哪裏? – j08691

+0

修正它,兒童()是問題。我還有一個額外的div標籤,而children()只是在父標籤後面選擇直接標籤。儘管如此,感謝您的幫助! – user3228959

回答

0

什麼:

$(document).ready 
(
    function() 
    { 
     $('#form1').submit 
     (
      function (e) 
      { 
       if ($('[name="content"]').val() == '') // You can add an id and select by id 
       { 
        e.preventDefault(); 
        $('[name="content"]').attr('class', 'has-error'); 
       } 
      } 
     ); 
    } 
); 
0

刪除窗體2和嘗試:

$('#form1').submit(function(event) { 
     if($.trim($(this).children('input').val()).length == 0) { 
      $(this).parent().addClass('has-error'); 
      event.preventDefault(); 
     } 
    });