ENTER tuşu için her tuş vuruşu yakalayıp test etmenin aşırı yükü beni gerçekten rahatsız ediyor, bu yüzden çözümüm aşağıdaki tarayıcı davranışına dayanıyor:
ENTER tuşuna basmak , gönder düğmesinde bir tıklama olayını tetikleyecektir (IE11, Chrome 38, FF 31'de test edilmiştir) ** (ref: http://mattsnider.com/how-forms-submit-when-pressing-enter/ )
Bu yüzden benim çözümüm standart gönderme düğmesini (yani <input type="submit">
) kaldırmaktır, böylece ENTER tuşuna basıldığında sihirli bir şekilde tıklamak için hiçbir gönderme düğmesi olmadığından yukarıdaki davranış başarısız olur. Bunun yerine, formu jQuery .submit()
yöntemi ile göndermek için normal bir düğme üzerinde bir jQuery tıklama işleyicisi kullanın .
<form id="myform" method="post">
<input name="fav_color" type="text">
<input name="fav_color_2" type="text">
<button type="button" id="form-button-submit">DO IT!</button>
</form>
<script>
$('#form-button-submit').click(function(){
$('#myform').submit();
});
</script>
Demo: http://codepen.io/anon/pen/fxeyv?editors=101
** Formda yalnızca 1 giriş alanı varsa ve bu alan bir 'metin' girdiyse bu davranış uygulanamaz; bu durumda, HTML işaretlemesinde (örneğin bir arama alanı) hiçbir gönderme düğmesi olmasa bile form ENTER tuşuna basılarak gönderilir. Bu, 90'lı yıllardan beri standart tarayıcı davranışıdır.