field1
및 field2
에 포함 된 값이 마음에 들지 않으면 양식을 제출하면 PHP가 false
을 반환합니다. 해당 필드가 마음에 들면 true
을 반환합니다. 사용자가 양식을 제출하고 PHP가 false
을 반환하면 경고가 나타납니다. 경고 창을 닫은 후 사용자가 해당 필드에 새로운 (양호한) 데이터를 즉시 입력하고 양식을 다시 제출하면 양식이 어떻게 든 두 번 제출됩니다. 왜? 이 문제를 어떻게 해결할 수 있습니까?jquery가 내 ajax 양식을 두 번 제출하는 이유는 무엇입니까?
$("form#myForm").on('submit',function()
{
$.ajax(
{
type: "POST",
url: 'myfile.php',
dataType: 'html',
data:
{
field1:$("input[name=field1]").val(),
field2:$("input[name=field2]").val()
},
success: function(data)
{
if(data == false)
{
alert('hello world');
}
else
{
// stuff
}
}
});
return false;
});
[jsbin] (http://jsbin.com/ujinon/3/edit)에서 작동하는 것처럼 보입니다. 제출 당 하나의 요청 만합니다. jsbin에서 실행되도록하기 위해'POST '를'GET'으로 변경하고 url을'#'으로 설정하고'data == false'를'true'로 바꿨습니다. HTH –