私はユーザーが2と50の間の数字しか入力できない単一の入力フィールドを持っています。上または下の数字は無効です。また、数値でなければなりません。私がこれまで持って何jQueryの検証番号
はこれです:
$('#searchTimes').click(function() {
if($('#replyNumber').val()<=0) {
alert("Please select a value greater than 0 for number of guests");
$('#replyNumber').focus();
return;
}
if($('#replyNumber').val()>=51) {
alert("Please select a value less than or equal to 50 for number of guests");
$('#replyNumber').focus();
return;
}
if(isNaN($('#replyNumber').val())) {
alert("Please enter a numeric value only");
$('#replyNumber').focus();
return;
}
});
は^という書き込みをより良く、より効率的な方法があります。
また、これらのIF文がすべて真でない場合は、別の機能を実行する必要があります。それをどのように追加できますか?
'valは()'常に文字列、決してNaNを返しますので、あなたの最後の条件は、実行されることはありません。おそらく値をチェックする前に、 'parseInt($( 'replyNumber')。val()、10)'としたいでしょう。このコードがそのまま動作する場合、この質問は[codereview.se]でよく聞かれるかもしれませんが、ヘルプセンターを最初に確認してください。 –
まず、すべてのif文で.val()メソッドを呼び出す必要はなく、まず値を1回取ってintに解析して変数に格納します。次に、他のすべての条件が偽である場合にコードブロックを実行するには、3つのifの代わりにis ... elseチェインを作成し、他のすべての条件が満たされていない。 – Fiodor