特定の入力が入力されていないか、フォームに正しく入力されていない場合に、require
ポップアップを表示しようとしています。だから、これを行うために、私はこのフォーム作成しました:手動でポップアップを表示するにはどうすればいいですか?
<form id="login">
<input class="form-control require" type="email" placeholder="username" ></input>
<button type="submit">
go
</button>
</form>
を、私はJS関数内のロジックを置く:
$('#login').submit(function(event)
{
event.preventDefault();
$(event.target).find('.require').each(function()
{
if($(this).val().length == 0)
{
this.setCustomValidity("Field Required!");
}
else
{
this.setCustomValidity('');
}
});
console.log('ajax execution');
});
今すぐフォームが送信されたときにあなたが見ることができますどのように私は防ぎますデフォルトのイベントsubmit
を作成し、各コントロールにカスタム検証エラーを割り当てます。ここで問題があるのは、フィールドが正しく評価されていない、たとえば空白の場合、ポップアップが表示されず、代わりにSubmitボタンを押すとUIにrequire
ポップアップが表示されることがわかります。
誰かがこれを解決するのに役立つでしょうか?あなたは何のポップアップが表示されない初めてのボタンを押すと
私は、二度目は正常に表示されますが、これは、特定のフィールドがあるたびに、とにかく初めてかを表示されます例JSFIDDLE here.
を置きます有効ではありません。
HTML要素に 'required'を追加し、検証がfalseの場合はsubmit関数から' return false'を追加してみてください。 'this.setCustomValidity(" Field Required! ");'の後に 'falseを返すだけでは、コールバック関数であり、submit関数ではありません。 –
@NicholasRobinsonこれはこれを行う別の方法です。私は 'required'では不可能なカスタム検証メッセージを設定したいと思っています – user3287550