私はjavascriptの初心者です。JavaScript を使用したフォームの検証について、深刻な支援が必要です。これが、実行するスクリプトが必要なものです。
ユーザーがフォームに入力し、20 の倍数 (40、60、80、100 など) 以外の数字を入力すると、アラートが表示されます。
例: 入力フィールドに 45 を入力すると、「無効な金額を入力しました」などのエラーが表示されます。
{そうしないと}
投稿フォーム。
私はjavascriptの初心者です。JavaScript を使用したフォームの検証について、深刻な支援が必要です。これが、実行するスクリプトが必要なものです。
ユーザーがフォームに入力し、20 の倍数 (40、60、80、100 など) 以外の数字を入力すると、アラートが表示されます。
例: 入力フィールドに 45 を入力すると、「無効な金額を入力しました」などのエラーが表示されます。
{そうしないと}
投稿フォーム。
%
(モジュラス) 演算子を使用してみてください
if ((+([value of inputfield])||1)%20 === 0) { /* is multiple of 20 */ }
// ^convert to Number ^
// ^if conversion fails, use 1 for value
// (so %-operation will not fail)
簡単な例については、この jsfiddleを参照してください
jQueryで
if($('#input_id').val() % 20 != 0)
{
$('#input_id').val('');
alert('You have entered an invalid amount.');
}
else
{
//success
}
@Kooilncは正しいですが、より完全な解決策があります:http://jsfiddle.net/nottrobin/vN3xK/
<form name="numberForm">
<input type="number" name="number" />
<button type="submit">submit</button>
</form>
<script>
// NB: jQuery is required
jQuery('[name="numberForm"]').bind(
'submit',
function(evt) {
if(jQuery('[name="number"]').val() % 20 != 0) {
alert('Your number is wrong');
evt.preventDefault();
}
}
);
</script>
%
正規表現の代わりに使用することをお勧めしますか?