ホームページ  >  記事  >  ウェブフロントエンド  >  HTML ページの解析時に Enter キーを無効にしてフォームを自動的に送信する方法の詳細な説明

HTML ページの解析時に Enter キーを無効にしてフォームを自動的に送信する方法の詳細な説明

怪我咯
怪我咯オリジナル
2017-04-30 10:29:352071ブラウズ

次のエディターは、Enter キーを無効にして HTML ページでフォームを自動的に送信する方法に関する記事を提供します。編集者はこれがとても良いものだと思ったので、皆さんの参考として今から共有します。エディターをフォローして見てみましょう

HTML ページでフォームを使用するため、フォームを送信するには Enter キーを無効にする必要があることがよくあります。コンテンツ ページまたはマスター ページ自体には type="submit" のボタンがあるため、テキスト ボックスがフォーカスされているときに Enter キーを押すと、フォーム (IE または Firefox のいずれか) のデフォルトの送信がトリガーされるため、 onkeydown でのユーザーのキーストローク。実際のテストでは、IE8 ではフォームの送信につながる不確実な要素が多すぎることがわかりました。フォームのテーブルの td をクリックするとフォームの送信がトリガーされますが、Firefox ではフォームの送信がトリガーされません。そのため、IE と FF でフォームの送信を無効にする場合は、異なる考え方が必要です。

IE の場合:

イベント ソースが TEXTAREA の場合にのみ true を返し、デフォルトのアクションを許可します。他のすべての要素は false を返し、フォームの送信と応答を禁止します。

Firefox の場合:

イベント ソースが INPUT の場合のみ、フォームのデフォルト アクションを無効にする場合は false を返しますが、他の要素はテキストエリアの複数行入力などのデフォルト アクションを許可する場合は true を返します。

したがって、完全なコードは次のとおりです:

<mce:script language="javascript" type="text/javascript"><!-- 
 //禁用Enter键表单自动提交 
  document.onkeydown = function(event) { 
   var target, code, tag; 
   if (!event) { 
    event = window.event; //针对ie浏览器 
    target = event.srcElement; 
    code = event.keyCode; 
    if (code == 13) { 
     tag = target.tagName; 
     if (tag == "TEXTAREA") { return true; } 
     else { return false; } 
    } 
   } 
   else { 
    target = event.target; //针对遵循w3c标准的浏览器,如Firefox 
    code = event.keyCode; 
    if (code == 13) { 
     tag = target.tagName; 
     if (tag == "INPUT") { return false; } 
     else { return true; } 
    } 
   } 
  }; 
  
// --></mce:script>

テスト後、IE、Firefox でフォームを自動的に送信するには、Enter キーを無効にする必要があるページに上記の JavaScript コードを適用します。 Chrome ブラウザはすべて、Enter ボタンを完全に解決して、フォームの質問を自動的に送信します。

以上がHTML ページの解析時に Enter キーを無効にしてフォームを自動的に送信する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。