すべて、私は次の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;
});
ありがとう!