47

HTML5の新しい必須属性が機能していないように見える理由がわかりません。また、私の単純なコードは問題ないように見えます。これを機能させるにはどうすればよいですか?

HTMLでの私のコードは次のとおりです。

<input type = "text" class = "txtPost" placeholder = "Post a question?" required>
<button class = "btnPost btnBlue">Post</button>

間違っている場合は訂正してください。ただし、ブラウザでコードを実行し、テキストボックスに値を指定せずにボタンをクリックすると、そのフィールドが必須であることを示すツールチップが表示されるはずですよね? しかし、何度ボタンをクリックしても何も起こりません。required属性の使い方を誤解していますか?

コードを google chrome で実行していますVersion 28.0.1500.72

4

11 に答える 11

51

novalidate 属性がフォームタグに設定されていないことを確認してください

于 2014-12-03T10:01:01.583 に答える
11

フォームに送信フィールド要素がない場合も、このエラーが発生します。フォームを送信するためにJSによって処理される「ボタン」フィールドの場合、送信ボタンの必要性がないため、必須は機能しません

于 2020-05-08T10:25:42.467 に答える
5

ボタンにtype="submit"を追加していれば問題ありません。

 <form action="">
    <input type="text" placeholder="name" required>
    <button type="submit">Submit</button>
</form>
于 2020-12-24T01:37:46.803 に答える
0

私も同じ問題を抱えていました。送信ボタンで onClick を実行していましたが、それが問題の原因でした。代わりに、フォームに onSubmit="anyAction" を配置してみてください。これは機能するはずです。

ピエール

于 2022-03-03T17:24:58.217 に答える
0

私は同じ問題に直面していました。私の場合、問題は入力タグ内の return ステートメントでした:

<input type="submit" onclick="function_call(); return false;">

return false;ステートメントを削除すると、問題が解決しました。

于 2021-12-05T15:29:19.927 に答える
0

はい、フォームのカプセル化を見逃しました:

JSFiddle

<form>
   <input id="tbQuestion" type="text" placeholder="Post a question?" required/>
   <input id="btnSubmit" type="submit" />
</form>
于 2013-07-31T09:31:35.557 に答える
0

私の答えは遅すぎますが、他の人を助けることができます.

フォームタグを使用した場合でも、同じ問題が発生しました。

ページのヘッダーで Meta Charset を宣言することで解決しました。

<meta charset = "UTF-8" />

于 2019-07-06T17:51:09.060 に答える