タグ

2021年11月6日のブックマーク (3件)

  • リターン(Enterキー)でフォームを送信しない方法

    フォームのテキスト入力中にうっかりリターン(Enterキー)を押してしまい、中途半端なフォームが送信されてしまったという経験をした人は結構多いのではないかと思います。 ということで、リターン(Enterキー)でフォームを送信しないようにする方法を紹介します。この記事の投稿時点でのGoogle Chrome・Firefoxの最新版とIE9で同じ動作になることを確認しています。 1.リターンでフォームが送信される原因 次のように、type属性が「text」のinput要素、いわゆるテキストフィールドが含まれるフォームで、テキストフィールドがアクティブなときにリターンを押すとフォームが送信されてしまいます。 <form action="hoge.cgi"> <input type="text" name="foo" /> <input type="text" name="bar" /> <inp

    pmint
    pmint 2021/11/06
    バッドノウハウのロンダリング。2012年当時でもデフォルトボタン作って無効化(<input type="submit" style="display:none" disabled>をフォーム内の最初の要素にする)が普通だったと思うけど。
  • Enterキーを無効にする方法 - Qiita

    Enterキーを押すと、フォームが送信されることがある。 キーボード入力後、マウス操作してクリックする、という手間が省けてとても便利だと思う。 しかし、入力中にうっかり押してしまったりなど、期待しない挙動をしてしまうこともあるだろう。 この挙動は、HTMLの仕様がそうなっているからである。 ※ 古いブラウザでは以下の内容で対処できない場合があります。 ※ ブラウザの仕様が変わり、以下の内容では対応できなくなる場合があります。 対処方法① 送信ボタンを書き換える(テキストフィールドなどが2つ以上のとき) テキストフィールドなどがアクティブな状態で、Enterキーを押すとフォームが送信される。 <form name="testform1" action="test1.html"> <input type="text" name="text1" /> <input type="text" nam

    Enterキーを無効にする方法 - Qiita
    pmint
    pmint 2021/11/06
    どれもバッドノウハウ。デフォルトボタン作って無効化が王道。HTMLの仕様… "A form element's default button is the first submit button" https://www.w3.org/TR/2018/SPSD-html5-20180327/forms.html#implicit-submission
  • Enterキーを打ってもsubmit(送信)しないようにするには | Netsphere Laboratories

    2004.11.06新規作成。 HTMLフォームで、submit(送信)ボタンを押さずにデータが送信されてしまうことがある。用途によってはその方が使いやすいこともあるが、編集中に意図せず送信されてしまうこともあるので、この動作を抑止したい。どうするか。 submitボタン まず、submitボタンがあるかどうか。submitボタンがあるとき、input[type="text"]で生成されるテキストコントロール内でEnterキーを打つと、フォームデータが送信される。 例えば、次のようなフォームの場合。テキストコントロールが一つでも二つ以上でも同じであり、IE / Mozillaとも同じように振る舞う。 <form action="test"> <input type="text" name="a"> <input type="text" name="b"> <input type="subm

    pmint
    pmint 2021/11/06
    "buttonタグにはtype属性が必要なことに注意"…この時点でバッドノウハウだったろうに。というか、説明がなってなくて意味不明。