来到javascript时我是超级菜鸟,为什么click()不起作用?此代码将表单数据提交到php脚本并将回复加载到div中。你可以在这里看到它的动作:http://shorelinerenovations.com
jQuery(document).ready(function(){
var ajax_load = "<img class='loading' src='http://shorelinerenovations.com/wp-content/themes/Narm/images/load.gif' alt='loading...' />";
var loadUrl = "http://shorelinerenovations.com/wp-content/themes/Narm/optin.php";
jQuery('form#optin-form input#frm_submit').click(function(){
jQuery("#submit-result").html(ajax_load);
jQuery.post(
loadUrl,
jQuery("#optin-form").serialize(),
function(responseText){
jQuery("#submit-result").html(responseText);
},
"html"
);
});
});
答案 0 :(得分:3)
您必须阻止默认操作,即提交表单:
jQuery('#optin-form').submit(function(event){
event.preventDefault();
// other stuff
});
仅仅因为您发出Ajax请求并不意味着浏览器不会以“正常”方式提交表单。
最好将事件处理程序分配给表单的submit
事件。用户可以在不单击按钮的情况下提交表单。
答案 1 :(得分:1)
Jilseego,当Firebug显示错误时,Firebug图标旁边应该有一个红叉。单击它,这将带您到代码中错误的位置。
页面可能正在重新加载,因为如果存在JavaScript错误,浏览器根本不会执行该脚本。