2011-01-28 23 views
6

Bu, anlatılması oldukça basit bir sorundur. Bu Firefox (3.6), IE (8) ve Chrome (8) üzerinde test edildi. Odak girişi birinde olduğunu ve hiçbir şey olmuyor, girmek bastığınızda İşte Form birden fazla giriş metni olduğunda gönderilmiyor Form

<form> 
    <input /> 
    <input /> 
</form> 

doesnotsubmit.html dosyasıdır. Odak girişine olduğunu ve form gönderildiğinde, girmek bastığınızda

Aşağıda

<form> 
    <input /> 
</form> 

doessubmit.html dosyasıdır.

Bu tutarsız davranış hakkında herhangi bir fikir?

Formun bir gönderme düğmesi bulunmadığını biliyorum ve bu nedenle semantik olarak doğru değil. Her neyse, gönderme işlemi otomatik olarak jQuery dialogları buttonpane düğmelerini kullanarak ele alınması gerekiyordu ve ek bir < giriş tipi = "gönder"/> yerleştirmeyi bilmiyorum.

+0

ben "göndermediğinizden" davranışı istenen söylerdi tahmin etmek vardı, ama onlar (bu onların tipik kalıptır) Arama alanlarıyla web sitelerinin uğruna bir girişi olan bir forma bir istisna eklendi edin. Burada gerçekten spekülasyon yapıyor olsam da ... –

+0

İçgörü şu: [burada] (http://stackoverflow.com/questions/1370021/enter-key-on-a-form-with-a-single-input- field-will-automatic-submit-with-get/1370314 # 1370314), HTML Spesifikasyonu'na bakın – user754151

cevap

1

user754151 doğrudur. Bu bilinen bir hatadır ama sanırım sadece tuşa basma olayını engellemekten kurtulabilirsiniz.

1

Bu sorun için iki olası çözüm vardır.

  1. En basit çözüm, kullanıcıya görünmeyecek olan 1 tane daha giriş alanı eklemektir.

  2. Bu giriş alanının tuş olayını bağlayabilirsiniz ve bu işlevde sadece keyCode == 13 ve preventDefault() öğelerini işaretleyin.