値が数値かどうか関数によってチェックされているフォーム フィールドを取得しました。チェックを返した後、属性値をフィールドに渡すための別の関数が必要です。
例:
- FunctionA は、値が数値かどうかをチェックします
- FunctionB は、フォームフィールドの属性として設定されている FunctionA から特定の数字を取得します
- フォーム フィールドの値が数値の場合、最大長を 20 に設定します
- 数値でない場合は、maxlength を 10 に設定します。
HTML:
<form method="post" action="">
<input type="text" name="txt" onblur="numChk(this.value);" maxlength="getMax();" />
<p id="fmsg"></p>
<input type="submit" name="sub" />
</form>
Javascript:
<script type="text/javascript">
function numChk (num){
//var num = num;
if(!isNaN(num)){
document.getElementById("fmsg").innerHTML = '<strong>' + num + ' is a number </strong>';
getMax(maxVal) = 14;
} else{
document.getElementById("fmsg").innerHTML = '<em>' + num + ' is not a number </em>';
getMax(maxVal) = 11;
}
}
function getMax(maxVal){
return maxVal;
}
</script>
これで助けが得られることを願っています。