1

私はjavascriptの初心者です。JavaScript を使用したフォームの検証について、深刻な支援が必要です。これが、実行するスクリプトが必要なものです。

ユーザーがフォームに入力し、20 の倍数 (40、60、80、100 など) 以外の数字を入力すると、アラートが表示されます。

例: 入力フィールドに 45 を入力すると、「無効な金額を入力しました」などのエラーが表示されます。

{そうしないと}

投稿フォーム。

4

3 に答える 3

2

%(モジュラス) 演算子を使用してみてください

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を参照してください

于 2012-09-03T11:49:04.157 に答える
0

jQueryで

if($('#input_id').val() % 20 != 0)
{
    $('#input_id').val('');
    alert('You have entered an invalid amount.');
} 
else 
{ 
    //success
} 
于 2012-09-03T12:01:05.157 に答える
0

@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>

%正規表現の代わりに使用することをお勧めしますか?

于 2012-09-03T11:55:47.433 に答える