2014-04-27 144 views
2

我使用的是follwing代碼,但它不會阻止重新加載並且在窗體頁面上看不到成功的文本。防止在提交後重新加載

$("#ak_Submit_img").click(function() { 
$.post($("#ak").attr("action"), 
     $("#ak :input").serializeArray(), 
     function(info){ $("#result").html(info); 
    }); 
clearInput(); 
}); 

$("#ak").submit(function() { 
    return false; 
}); 

function clearInput() { 
    $("#ak :input").each(function() { 
     $(this).val(''); 
    }); 
} 

<form id='ak' class='sfm_form' method='post' action='such.php' accept-charset='UTF-8'> 

<input type='image' name='Submit' id='ak_Submit_img' src='images/ak-Submit-0.png' alt='submit'/> 

我在哪裏犯錯。

回答

0

return false不是防止用jquery重新加載的方式。

的常用方法,以防止重載從按下按鈕是:

$('#button').click(function(e){ 
    // do whatever actions you need here 
    e.preventDefault(); 
}); 

爲您的代碼,我建議:

$("#ak_Submit_img").click(function(e) { 
e.preventDefault(); 
$.post($("#ak").attr("action"), 
     $("#ak :input").serializeArray(), 
     function(info){ $("#result").html(info); 
    }); 
clearInput(); 
}); 

OR

$("#ak").submit(function(e) { 
e.preventDefault(); 
    return false; 
}); 
+0

謝謝您答案但它不起作用。 –

+0

這可能是因爲事件被阻止在錯誤的部分。再看一遍,你可以用自己的函數提交表單。嘗試在提交函數中使用'e.preventDefault();'。 – Derple

+0

我在回答中添加了實例 – Derple