События jQuery и проверка HTML5 - PullRequest
0 голосов
/ 28 декабря 2011

Я использую проверку HTML5 и jQuery для ajax и других функций.У меня есть форма, и я добавил проверку в типах ввода, т. Е. <input id="country" type="search" value="" required />

Теперь проблема в том, что форма никогда не публикуется до тех пор, пока я не заполню допустимые значения, тогда мне нужно сделать вызов ajax скорее традиционной формой публикации.Если я добавлю событие, подобное этому

<form id="objectForm" method="POST" action="#!/" onsubmit="return submitData();">, оно будет работать, но вот так

$('.signinButton').unbind('click').click(function() {
    submitData();
});

проверка браузера не будет работать.

Любые предложения, что можно сделать здесь.

Спасибо, WA

1 Ответ

1 голос
/ 30 декабря 2011

Как указано в комментариях, вы хотите связать с отправкой формы, а не с фактическим нажатием кнопки (что произойдет, если они нажмут клавишу ввода и браузер автоматически отправит форму?).Обычно на странице должен быть только один тег формы, поэтому вы должны быть в безопасности, используя универсальный селектор $("form").Однако, если у вас есть несколько форм (или вы просто хотите быть более осторожными), вы можете получить их с помощью селектора идентификаторов формы.

Вы указываете, что хотите захватить событие, и вместо этого используете Ajax.call (в отличие от разрешения обратной передачи. В таком случае, что-то вроде следующего примера будет работать хорошо. Ключ в том, что вы должны остановить значение по умолчанию для элемента формы, чтобы он не выполнял обратную передачу.

$(function () {
  $("#objectForm").submit(function (e) {
    if (validationPasses) {
      callAjaxFunction();
    }
    e.preventDefault(); 
    e.stopPropagation();  // this one isn't always necessary, but if you really want to make sure (like if you, for some reason, have nested form elements) that the event is stopped in its tracks, calling both helps.
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...