[英]jquery submit is not stopping the form from being submitted
我有以下html表單
<form action="/newPost" id="submit_new" method="get"><div class="iwill">
<div class="iwill-holder">
<div class="txt"></div><div class="f"><input class="text" id="quickpost" name="quickpost" type="text" value=""></div>
<div class="img regularProgress" alt="Processing..."><input alt="Continue" class="iwill-btn movable" id="continue_submit" src="<?=$config['http']?>images/btn-2-continue-gray.png" type="image"></div>
</div>
</div>
</form>
這是jquery函數:
$('#submit_new').submit(function() {
var error = 0;
var quickpost = $("#quickpost").val();
if( quickpost == '' ) {
$("#quickpost").effect("shake", { times:3 }, 50);
$('#quickpost').css("color","red");
$('#quickpost').css("border","red 1px solid");
error = 1;
}else{
$('#quickpost').css("border","gray 1px solid");
$('#quickpost').css("color","black");
error = 0;
}
if(errorCounter > 0){
return false;
}else{
$.ajax({
url: 'sendPost.php?quickpost='+quickpost,
success: function(data) {
$('#result').prepend(data).slideDown('slow', function() {});
}
});
}
return false;
});
從技術上講,我試圖使用ajax發布表單值,但無論我做什么,表單仍然會提交到操作頁面。 我試圖甚至讓所有路徑都導致false
但它不起作用
嘗試阻止默認行為
$('#submit_new').click(function(e) {
e.preventDefault();
...
你也有一個錯字
if(errorCounter > 0){
return false;
}else{
應該:
if(error > 0){
return false;
}else{
$('#submit_new').submit(function(e) {
e.preventDefault();
//other stuff
});
您需要在submit函數中使用preventDefault()。
我有一個版本仍然使用return false
來阻止表單提交http://jsfiddle.net/pKR6G/2/
注意:我已經注釋掉了震動效果,所以我不需要包含jQueryUI。
事件偵聽器方法不關心從偵聽器函數返回的內容。 您需要對傳入的事件對象使用jquery preventdefault方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.