0

次のような入力フィールドがあります。

<input type="number" id="month" placeholder="Month" min="1" max="12" required>

問題

  • フォームで使用する場合、1 から 12 までの数値が必要です。
  • jQuery を使用して、keyup で情報をコピーします。私の場合は、href にコピーします。この場合、フィールドの要件によって「保護」されていません。

有効であってはなりません:

<a href="?month=abc">

有効である必要があります:

<a href="?month=12">

組み込みの HTML5 入力からの検証を何らかの方法で使用できますか? 私はさまざまな要件を持つさまざまな分野を持っています。

4

3 に答える 3

0

で値をキャプチャするときはkeyup、関数を使用してisNaN、それが数値かどうかを確認できます。ただし、これは小数も検証するため、小数がないことを確認する必要があります。

if (!isNaN(someValue)){
   //your code to add to href
}
于 2013-10-31T13:53:09.157 に答える
0

あなたの質問から得たのは、<a>jquery からのタグを検証したいということだけです

$("a[href*='month']").click(function(event){
    var value=$(this).attr("href");
    value=value.split("=");
    var temp=value[1];
    alert(temp);
    if(isNaN(temp)){
        event.preventDefault();
        alert("not a number");
    }
    else if(temp<1||temp>12){
        event.preventDefault();
        alert("invalid month");
    }
});

編集:
ジャックのコメントのおかげで、ここに質問の可能な解決策があります

$("#month").keyup(function(){
    //Add your copying code here, and edit $atag accordingly 
    var $atag=$("a[href*='month']");
    var value=$(this).val();
    if(isNaN(value)){
        $atag.attr("disabled","disabled");
    }
    else if(value<1||value>12){
        $atag.attr("disabled","disabled");
    }
    else $atag.removeAttr("disabled");
});
于 2013-10-31T13:58:04.407 に答える