작업 메서드를 통해 원격 서버에 양식을 게시 할 수 있지만 postata 전에 데이터베이스를 updata jquery 함수를 호출하는 - 모든 IE에서 작동합니다. , FF 등 ...하지만 Safari는 반환 값이 true 일 때 jquery 데이터베이스 삽입을 수행하지 못하거나 async : true, ... 둘 다 false 인 경우 (즉, html 형식이 false 선언으로 인해 게시 관리를하지 못합니다.) 완벽하게 작동합니까? 하지만 사실이라면 폼은 POST 만 할 것이지만 jquery ajax 포스트는 실행되지 않을 것입니다.jquery 아약스 게시 IE, FF, 크롬 있지만 Safari 잘 작동합니다.
폼 ...
<form action="http://anotherplace" method="post" id="myform" >
<button class="button-big" type="submit" id="myform-post" ><span>Continue</span></button>
기능 ...
스크립트는 제출 ID를 기반으로 '클릭'방식에서 실행$(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
(수행 확인 후 AJAX 포스트) .
Safari (테스트 한 모든 버전)에서 실패하거나 필요한 솔루션을 더 잘 제공 할 수 있습니까? - 비동기/게시와 관련이 있습니까? 내가 말했듯이 false로 설정하면 잘 작동하지만 ... 아직 게시하려면 HTML 양식이 필요합니다!
많은 감사! 대기중인이있는 동안
사이드 노트 : HTML 5입니까? ID는 HTML 4의 숫자로 시작할 수 없습니다. –
문제 해결 ... 성공 함수에서 $ ("# myform-post"). trigger ("submit") 만 Safari에서 작동하는 것 같습니다. – Marc