全部, 我有以下jQuery代码:
jQuery("#data_form").submit(function() {
event.preventDefault();
alert("it submits");
});
当我在Chrome中提交表单时,它可以正常工作,但不适用于IE8。我试图将代码更改为:
jQuery("#data_form").submit(function(e) {
e.preventDefault();
alert("it submits");
});
然而,这仍然发布页面。关于如何使这个代码在IE8中工作的任何想法?
***编辑:我试图在这里简化代码的可读性。但是我尝试了下面的答案,但它还没有奏效。这是完整的代码:
jQuery("#event_form").submit(function(e) {
e.preventDefault();
jQuery("#results").html('');
already_submitted = jQuery("#check_submission").val();
create_yes_no = jQuery("#create_yes_no").val();
if(already_submitted!="yes" && create_yes_no=="yes" ){
jQuery.post(site_url + "save_event_form.php", jQuery(this).serialize(),
function(data) {
//alert("Data Loaded: " + data);
var results = jQuery("#results");
results.html(data+"<br><br>");
results.show(); // re-display the div
setTimeout(function(){ // then fade it out....
results.fadeOut();
}, 5000); // ...after 5 seconds
jQuery("#check_submission").val("yes");
});
}else if(create_yes_no!="yes"){
jQuery.post(site_url + "save_event_form.php", jQuery(this).serialize(),
function(data) {
//alert("Data Loaded in the create yes or no yes: " + data);
var results = jQuery("#results");
results.html(data+"<br><br>");
results.show(); // re-display the div
setTimeout(function(){ // then fade it out....
results.fadeOut();
}, 5000); // ...after 5 seconds
});
}else{
alert("You already submitted this user once. Refresh the page to add another one.");
}
return false;
});
谢谢!
答案 0 :(得分:1)
event.preventDefault在IE8中不起作用。我将其更改为此代码,现在效果很好:
if(event.preventDefault){
event.preventDefault();
}else{
event.returnValue = false;
}