Когда моя форма будет отправлена, php вернет false
, если ей не нравятся значения, содержащиеся в field1
и field2
. Если это похоже на эти поля, то оно вернет 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 –