2016-12-02 74 views
0

我只需要使用jQuery禁用表單提交。但它不起作用。爲什麼禁用表單提交不起作用?

HTML

<form action="" id="pro_register_form"> 
    First name:<br> 
    <input type="text" name="firstname" value=""> 
    <br> 
    Last name:<br> 
    <input type="text" name="lastname" value=""> 
    <br><br> 
    <input type="submit" value="Submit"> 
</form> 

JS

$(document).ready(function(){ 
    $('pro_register_form').submit(function() { 
     return false; 
    }); 
}); 

JS小提琴:https://jsfiddle.net/6wr7Lfdu/

回答

0

每jQuery的文檔上.submit()

...我們可以通過調用事件對象.preventDefault()或者從我們的處理程序返回false取消提交操作。

通過調用.preventDefault()事件(回調的第一個參數)來停止正常事件處理程序可能是一個好習慣。

看起來,選擇器傳遞給$()沒有正確找到表單。使用ID選擇器(即#)找到表單元素:

$(document).ready(function(){ 
    $('#pro_register_form').submit(function(event) { 
     //accept the event object as the first argument of our callback function 

     //and call preventDefault on it to stop the form submission 
     event.preventDefault(); 

     //returning false will also stop the form submission 
     return false; 
    }); 
}); 
1

工作小提琴https://jsfiddle.net/6wr7Lfdu/2/

$(document).ready(function(){ 
    $('#pro_register_form').submit(function(e) { 
     e.preventDefault(); 
     return false; 
    }); 
}); 
+0

'返回FALSE'應足以抵消表單提交(而無需調用'e.preventDefault()',每[文件] (https://api.jquery.com/submit/) –

+0

它也很好的做法,以防止瀏覽器提交表單提交默認行動 –

+0

好吧 - 是的,我同意這樣的良好做法。 –