Rumah >hujung hadapan web >tutorial js >Bagaimana untuk melumpuhkan menekan kekunci Enter untuk menyerahkan kemahiran form_javascript

Bagaimana untuk melumpuhkan menekan kekunci Enter untuk menyerahkan kemahiran form_javascript

WBOY
WBOYasal
2016-05-16 15:55:481715semak imbas

Apabila penyerahan automatik berlaku, terdapat dua kemungkinan:

Yang pertama ialah menulis kod javascript Apabila pengguna mengklik kekunci Enter, penyerahan borang dicetuskan melalui mekanisme mendengar acara js.

Yang kedua ialah memanfaatkan kelakuan lalai penyemak imbas (sekurang-kurangnya ini yang saya temui). Penyemak imbas mempunyai banyak tingkah laku lalai semasa menghuraikan halaman web Contohnya, jika terdapat borang dan butang hantar pada halaman, maka apabila halaman dibuka, fokus akan jatuh secara automatik pada butang hantar. Begitu juga, jika terdapat hanya satu medan input teks (teks) satu baris dalam borang, penyemak imbas akan menyerahkan borang secara automatik apabila kekunci Enter ditekan dalam medan input ini.

Kami secara amnya tahu tentang situasi pertama dan ia mudah difahami, tetapi untuk kelakuan lalai penyemak imbas kedua, lebih sedikit orang mungkin mengetahui perkara ini secara terperinci (sekurang-kurangnya untuk IE). tingkah laku lalai pada penyerahan borang.

Jika borang mengandungi medan input teks satu baris, tidak kira berapa banyak jenis komponen borang lain yang terkandung di dalamnya, borang akan diserahkan secara automatik apabila Enter diklik dalam medan input.

Contohnya kod berikut:

<form action="" method="post">
<input type="text" name="sdfsdf"/>
<input type="checkbox">sdfsdf
<input type="hidden"name="aa"/></form>

Jika borang mengandungi dua atau lebih medan input teks satu baris, tidak kira sama ada ia mengandungi jenis komponen borang lain, ia tidak akan diserahkan secara automatik apabila menekan kekunci Enter, contohnya:

<form action="" method="post"
<input type="text"
name="sdfsdf"/
<input type="text"
name="sddf"/</form

Kaedahnya sangat mudah. ​​Kami sudah mempunyainya dalam contoh yang kami berikan di atas. Hanya tambahkan kotak input teks yang lain. Anda boleh mengatakan bahawa untuk tidak menghantar secara automatik, anda perlu menambah kotak input yang tidak berguna Adakah dua kotak input boleh diterima oleh pengguna akhir? Malah, ia boleh diselesaikan Anda boleh menyembunyikan kotak input yang baru ditambah melalui gaya, contohnya:

<form action="" method="post"
<input type="text" name="notautosubmit"
style="display:none"/
<input type="text"
name="username"/</form

Terdapat juga kaedah untuk mengikat butang butang masukkan peristiwa pencetus:
document.onkeypress = function(){
if(event.keyCode == 13) {search();returnfalse;}} dengan kaedah carian ialah acara onclick:

Penyelesaian muktamad:

<script language="javascript"> 
  function defineSubmit(btn) 
  { 
    if("submit1" == btn.value) 
    { 
      document.testForm.action="firstAction"; 
    } 
    else 
    { 
      document.testForm.action="secondAction"; 
    } 
     
    document.testForm.submit(); 
  } 
</script> 
<form name="testForm" method="post"> 
    username:<input type="text" name="username"/> 
    password:<input type="password" name="password"/> 
    <input type="button" name="submitName" onclick="defineSubmit(this)" value="submit1"/> 
    <input type="button" name="submitName" onclick="defineSubmit(this)" value="submit2"/> 
</form> 

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn