我通過操作方法發佈表單到遠程服務器,但調用jquery函數更新數據庫之前發佈 - 所有工作正常在IE ,FF等......但是,當返回值爲true時,Safari總是無法執行jquery數據庫插入操作,或者async:true,...如果兩者都是false,(因此html表單由於錯誤聲明而無法發佈)它完美的作品?但是,如果爲true,表單將只是POST,但jquery ajax文章不會運行?jquery ajax post在IE,FF,Chrome,但不是Safari瀏覽器中工作正常
表單...
<form action="http://anotherplace" method="post" id="myform" >
<button class="button-big" type="submit" id="myform-post" ><span>Continue</span></button>
功能...
$(document).ready(function() { //available when doc renders
$("form#myform").submit(function(){
var title = $("select#title").val();
if (title == "") {
$("select#title").css({backgroundColor:"#ccc"});
$("select#title").focus();
return false;
}
var firstname = $("input#fname").val();
if (firstname == "") {
$("input#fname").css({backgroundColor:"#ccc"});
$("input#fname").focus();
return false; }
var surname = $("input#sname").val();
if (surname == "") {
$("input#sname").css({backgroundColor:"#ccc"});
$("input#sname").focus();
return false; }
//Grab the form values to pass via AJAX for DB insert
var cameraMake = $("input#cameraMake").val();
var cameraModel = $("input#cameraModel").val();
var cameraValue = $("input#cameraValue").val();
var mp3Make = $("input#mp3Make").val();
var mp3Model = $("input#mp3Model").val();
var mp3Value = $("input#mp3Value").val();
var dataString='&title='+ title + '&firstname=' + firstname + '&surname=' + surname + '&add1=' + add1 + '&add2=' + add2 + '&add3=' + add3 + '&pcode=' + pcode + '&email=' + email + '&phone=' + phone +'&username=' + username + '&pword=' + pword;
var ajaxComplete = false;
if(!ajaxComplete){
$.ajax({
async: true,
type: "POST",
url: "process-.php",
data: dataString,
success: function() {
// $('#details').html("<div id='post-message'></div>");
// $('#post-message').html("<h2 style='color:#fff'>Thanks for getting in touch.</h2>")
ajaxComplete = true;
this.submit();
}
});
return false; // Abort form submission by now
}else{
return true; // Submit normally
}
});
}); //End of document.ready
腳本基於提交ID的 '點擊' 方法運行(不確認則AJAX後) 。
當Safari瀏覽器(所有版本測試)都失敗時,ayone可以提供任何建議嗎?或者提供更好的解決方案來做我所需要的? - 與異步/發佈有關?正如我所說,設置爲false並且工作正常......但是,我需要HTML表單仍然發佈!
非常感謝!
注意:是HTML 5嗎? ID不能以HTML 4中的數字開頭。 –
問題已解決......似乎在成功函數中只有$(「#myform-post」)。trigger(「submit」)可用於Safari – Marc