2つの数値フィールドのパターンが正しく機能しない(フィールドが検証されなくてもフォームを送信できる)という奇妙な問題があります。 HTMLは次のようになります。私はフィールドに何かを入力すると、それが正規表現にマッチしていない場合パターンHTML5検証で検証されないとフォーム送信が妨げられない
<input type="text" class="txtmin" pattern="^[+-]?\d*(\.\d+)?$" placeholder="Minimum price">
<input type="text" class="txtmax" pattern="^[+-]?\d*(\.\d+)?$" placeholder="Maximum price">
すると、フィールドは赤でマークされますが、私はonclickのイベントでフォームを送信するために、検証をしようとした場合
$('txtmin').oninvalid = function (event) {
return;
}
しかし、これは何もしない:私はこのような何かをしようとしていた
$(".btnAnalyze").click(function() {
// the form doesn't validates??
});
...入力値を変更するには、ユーザーが防止され、私は例外を取得しないのですか?誰かが私を助けることができますか?
編集:
<form>
<span class="input-group-btn">
<button class="btn btn-default btnGo" type="submit">Go!</button>
</span>
</form>
$(".btnGo").click(function() {
if ($('.txtSearch').val() == "") {
ShowMessage("Please enter the search term!");
return;
}
else{
PostAndUpdate($('.txtSearch').val(), $('input[name=type]:checked').val(), $('input[name=shipping]:checked').val(), $('input[name=condition]:checked').val(), $('.txtmin').val(), $('.txtmax').val());
}
});
は両方ともフォームタグ内のフィールドですか? –
@ Ryad.ivいいえ、彼らはそうではありません。フォームタグの中に入れないでください。これを何とかjqueryで修正できますか? –
投稿タグを検証してブロックするには、formタグが必要です。そうしないと、javascriptで入力を検証する必要があります。 –