web-dev-qa-db-ja.com

Chrome空欄に「このフィールドに入力してください」ツールチップを表示しているのはなぜですか?

クライアントから、「一部のフィールドには「このフィールドに入力してください」というメッセージを含むツールチップが表示されるようになった」という苦情が寄せられました。私は聞いたことを信じることができませんでした...しかし、クライアントは正しいです-最新のChrome=バージョンを使用すると、いくつかのフィールドは私のバリデーターと並んでこのメッセージとブラウザツールチップを表示します!

どうしたの?私は何が欠けていますか?

ありがとう。

編集:

ユーザーコントロールによって生成されるHTMLは次のとおりです。

<input name="tbMontante" type="text" maxlength="8" size="10" tbMontante" class="Montantetextfield" 
    FieldName="Montante" 
    Required="True" 
    AllowDecimalValues="True" 
/>

編集:

私のDoctypeは次のとおりです。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

ブラウザはHTML 5を使用して解析する必要がありますか?

53
TiagoDias
36
TiagoDias

HTML5 必須 属性を使用していますか?

これにより、Chrome 10はユーザーにフィールドへの入力を促すバルーンを表示します。

47
Brandon

novalidate="novalidate" オン <form> 鬼ごっこ。

<form novalidate="novalidate">
...
</form>

XHTMLでは、属性の最小化は禁止されており、novalidate属性は<form novalidate="novalidate">

http://www.w3schools.com/tags/att_form_novalidate.asp

27
Fred K

Web-kitブラウザーでそのHtml5ポップアップ/バルーンを停止するには、次のCSSを使用します

::-webkit-validation-bubble-message { display: none; }
13
Towhid

私が述べたように あなたの他の質問で

そもそも独自の非標準属性(最初はすべきではなかった)を発明し、今では新しい標準化された属性(または標準化の過程での属性)が衝突しているという問題。

properソリューションは、発明された属性を完全に削除し、クラス(class="Montantetextfield fieldname-Montante required allow-decimal-values")などの適切なものに置き換えるか、または保存することです。 JavaScript:

var validationData = {
  "Montante": {fieldname: "Montante", required: true, allowDecimalValues: true}
}

適切なソリューションが実行可能でない場合は、名前を変更する必要があります。その場合、接頭辞data-...を使用する必要があります。これは、HTML5によってそのような目的のために予約されており、何かと衝突する可能性は低いからです。しかし、それでも可能です。変えるのはもっと大変です。

8
RoToRa

ブラウザの検証をトリガーするコントロールに「formnovalidate」属性を追加する必要があります。例:

<input type="image" id="fblogin" formnovalidate src="/images/facebook_connect.png">
4
Flo

「必須」属性を持つ1つ以上のフィールドを含むhtmlフォームがある場合、Chrome(最後のバージョンでは)フォームを送信する前にこれらのフィールドを検証します。ユーザーにフォームを送信してもらうために表示されます(つまり、「このフィールドに入力してください」)。

フォームでこのブラウザの組み込み検証を回避するには、フォームタグで"novalidate"属性を使用できます。このフォームはブラウザによって検証されません:

<form id="form-id" novalidate>

    <input id="input-id" type="text" required>

    <input id="submit-button" type="submit">

</form>
4
chimos

Chrome(v.56は私が使用しているものですが、これは一般的に適用されます))title = ""(単一のスペース)を設定すると、自動タイトルテキストが上書きされ、何も上書きされません(ただし、空の文字列にしようとすると、設定されていないものとして扱われ、取得した自動ツールチップテキストが追加されます)。

Google Chrome拡張機能を作成中に発見したため、他のブラウザでこれをテストしていません。他のブラウザに移植したら、きっとそれが表示されるかどうかを確認します(必要な場合でも)それらでも機能します。

3
Rex Dexter

ちょっと、グローバルなfind-replaceを行って、Required = "jRequired ="に変更しました。次に、jqueryコードでも変更します(jquery_helper.js-> Function ValidateControls)。これで検証は以前と同様に継続され、Chromeはそのままになります!:)

1
tomlemes