0

2012 年から 2013 年のような学年度のパターンと一致するように 2 つのテキスト ボックスを検証するのは非常に難しいと思います。両方のテキスト ボックスに異なる ID を指定しました n は別々に検証しようとしましたが、それは起こりません。どなたか助けていただけませんか。私は新米です。私は自分のjsコードを添付しました。両方のテキスト ボックスでパターンが見つからない場合にエラー メッセージが表示されるようにします。

   <html>
<body>
<script type="text/javascript">

window.onchange=function check_it() {
    var ay = document.getElementById("ayear").value;
    var fy=document.getElementById("fyear").value;

    var pattern = /\d{4}-\d{2,4}$/;

    if(pattern.test(ay) && pattern.test(fy)){
        return true;
    } else {

       window.alert ("invalid");
        return false;
    }
}
</script>
<form   >

<p> This Report is prepared for the Current Acadamic Year(<input type="text" size="10"  id="ayear" >) and the Current Financial Year (<input type="text" size="10"  id="fyear" >) on behalf of the Institution.</p>


</form>
</body>
</html>
4

2 に答える 2

0

これを試して:

window.onchange=function check_it() {
    var ay = document.getElementById("ayear").value;
    var fy=document.getElementById("fyear").value;

    var pattern = /^\d{4}-\d{2,4}$/;
    if(pattern.test(ay) && pattern.test(fy)){
        return true;
    } else {
        window.alert ("invalid");
        return false;
    }
}

また、正規表現を次のように置き換えることをお勧めします。

/^\d{4}-\d{2,4}$/

他の正規表現も検証されるため122012-2012345

true上記の関数は、両方のフィールドがテストに合格した場合にのみ戻ります。それ以外の場合は、 を返しfalseます。


また、常にブラケット ( {}) を使用することをお勧めしますif/else。コードに小さな問題がありました。

これ:

if (pattern.test(ay))
    return false;
else
    window.alert ("invalid");
return true;

になるはずだった:

if (pattern.test(ay)){
    return false;
} else {
    window.alert ("invalid");
    return true;
}

作業サンプル

于 2013-01-04T10:30:20.883 に答える
0

onBlurテキストフィールドからカーソルを移動すると、このソリューションが自動的にトリガーされることを願っています。onClick必要に応じて、関数も追加できます。これがあなたのコードです。適切な場所で使用してください。

<script>
function validate(){
var y = document.getElementById("errorResponse");
var x=document.forms["myForm"]["fval"].value;
var z=document.forms["myForm"]["sval"].value;

//Compare the expression

    if (x!=z){
        y.innerHTML = "Values not missing";
    }else{
        y.innerHTML = "Correct";
    }
 }
</script>


<form name="myForm">
First value: <input type="text" name="fval"/><br>
Second value: <input type="text" name="sval" onBlur = "validate()"/>
<div id = "errorResponse"></div>
<input type="submit" value="Submit">
</form>
于 2013-01-05T04:45:00.380 に答える