Я пытаюсь выполнить базовую форму публикации, но следующая информация отправляется на сервер дважды в Chrome и Safari (но ведет себя так, как ожидается в Firefox):
<form id="create-deck-form" action="/decks/create" method="post">
<fieldset>
<legend>Create new deck</legend>
<label for="deck-name-field">Name</label>
<input id="deck-name-field" name="deck-name-field" type="text" value="" maxlength="140" />
<label for="tag-field">Tags</label>
<input id="tag-field" name="tag-field" type="text" value="" maxlength="140" />
<input class="add-button" type="submit" value="Create" />
</fieldset>
</form>
Я хотел бы использовать *Атрибут 1004 * для проверки полей перед отправкой, но там, где возвращаемое значение равно true
, форма отправляется дважды.
Я пытался привязать к форме обработчик jQuery, но и здесьгде поведение по умолчанию не предотвращается, форма отправляется дважды, например:
<script type="text/javascript">
$(document).ready(function() {
$("#create-deck-form").submit(function(event){
if($("#deck-name-field").val() == "") {
event.preventDefault();
alert("deck name required");
}
});
});
</script>
Хотя я полагаю, что здесь есть что-то ослепительно очевидное неправильно для новой пары глаз, я глубоко смущен, почему представлениеили без проверки, делает копию сообщения на сервере в Chrome и Safari.Я был бы благодарен за любую информацию.