Ben bir temel formu görevi yapmak için arıyorum iki kez sunulan Formu ama Chrome ve Safari iki kez sunucuya aşağıdaki Gönderilmesi (Firefox'ta beklendiği gibi ama davranır):Chrome/Safari
<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>
isterim Gönderme öncesi alanlarda doğrulama yapmak için onsubmit
özniteliğini kullanmak ister, ancak dönüş değeri true
olduğu yerde, form iki kez gönderilir.
Ben formu, iki kez gönderildiğinde, varsayılan davranış törpülenmediği, burada da forma jQuery işleyicisi bağlamak için aranan, ama örneğin:
<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>
Ben kör edici bir şey olduğunu varsayalım iken Burada yeni bir çift göze çarpan yanlış bir şekilde, onaylama ile veya doğrulama olmadan gönderim işleminin Chrome ve Safari'deki sunucuya neden bir gönderi yaptığını derinden karıştırdım. Herhangi bir içgörü için minnettar olurum.
Başka bir şey var mı? Örneğin, formda "submit()" öğesini açıkça çağırmak için herhangi bir "tıklama" işleyicisi var mıdır? – Pointy
Teşekkürler, Pointy. Hayır, şu anda tamamen çıplak kemikleridir, başka hiçbir işleyici formu veya düğmelerine bağlı değildir. – meg
Bir örnek sayfanız var mı veya sayfanızın içeriğini bir yere mi (tüm HTML ve JS) gönderiyorsunuz, böylece bir göz atabilir miyiz? –