我一直在MAMP(例如LAMP)环境中本地开发/测试网站。我有一个由jQuery处理的表单在本地工作正常;我不希望它被提交,而是将值发送到AJAX函数。
问题是当它在具有几乎相同设置的远程服务器上运行时,它会提交到form参数的“action”目标,例如Apache,PHP等。没有任何代码是不同的。因此,当我提交表单时,jQuery不会捕获表单,它只是继续并提交。
有什么想法吗?提前谢谢。
jQuery的:
function save_words_ajax(username, save_word, save_meaning) {
$.ajax({
type: "GET",
url: "ajax/save_word.ajax.php",
data: "username=" + username + "&save_word=" + save_word + "&save_meaning=" + save_meaning,
dataType: "html",
success: function(html){
$("#complete h2").html(html);
$("#complete").show("fast");
},
complete: function(){
setTimeout('$("#complete").hide("fast")', 1500);
}
});
}
HTML:
<form id="new_word_form" action="ajax/save_word.ajax.php" method="get" accept-charset="utf-8">
<p>
<input type="hidden" name="username" value="someusername" />
<input type="hidden" name="word_reset" value="word" />
<input type="text" name="save_word" value="word" class="clearme" />
<input type="hidden" name="meaning_reset" value="meaning" />
<input type="text" name="save_meaning" value="meaning" class="clearme" />
<input type="submit" name="some_name" value="+" id="some_name" />
</p>
</form>
答案 0 :(得分:4)
确保网站上提供了jQuery和您的捕获代码,例如通过Firebug检查来源确保加载。
还要确保捕获表单提交的事件侦听器已正确注册并终止事件。您发布的代码未显示处理onSubmit事件的位置和方式。