ハマっている「お菓子」を教えて!

JAVAScriptを勉強し始めたものです。
よろしくお願いします。

1つのページに複数のフォームと入力欄があります。

それぞれの入力欄は数字を入力することになっていて、その数字が1~90の間にあるかどうかをチェックしたいと考えています。

下記のようなページを見ると、一つ一つの入力欄について、IF文でチェックしているのですが、一括してチェックするようなことは可能ですか?

http://www.tagindex.com/javascript/form/check1.h …


-----------------------------------------
【以下に、やりたいことの例を示します】


<script type="text/javascript">
<!--
function matchNum() {
n=eval(document.myFORM1.myTEXT1.value); // ←この行の「myFORM1」と「myTEXT1」をすべてを網羅するように書き換えられないか?
if ( n < 1 || n > 90 ) {
alert("入力できるのは、1~90の値です。");
}
}
// -->
</script>


<FORM METHOD="GET" name="myFORM1">
<INPUT TYPE="text" NAME="myTEXT1" onblur="matchNum()">
<INPUT TYPE="text" NAME="myTEXT2" onblur="matchNum()">
<INPUT TYPE="text" NAME="myTEXT3" onblur="matchNum()">
</FORM>
<br>
<FORM METHOD="GET" name="myFORM2">
<INPUT TYPE="text" NAME="yourTEXT1" onblur="matchNum()">
<INPUT TYPE="text" NAME="yourTEXT2" onblur="matchNum()">
<INPUT TYPE="text" NAME="yourTEXT3" onblur="matchNum()">
</FORM>
<br>
<FORM METHOD="GET" name="myFORM3">
<INPUT TYPE="text" NAME="hisTEXT1" onblur="matchNum()">
<INPUT TYPE="text" NAME="hisTEXT2" onblur="matchNum()">
<INPUT TYPE="text" NAME="hisTEXT3" onblur="matchNum()">
</FORM>
<br>
<FORM METHOD="GET" name="myFORM4">
<INPUT TYPE="text" NAME="herTEXT1" onblur="matchNum()">
<INPUT TYPE="text" NAME="herTEXT2" onblur="matchNum()">
<INPUT TYPE="text" NAME="herTEXT3" onblur="matchNum()">
</FORM>

A 回答 (1件)

まとめてやる方法もあるけど、今のHTMLとスクリプトそのまま使うなら



HTMLの方の matchNum() を全部、matchNum(this) として、

function matchNum() を function matchNum(objNum) とでもして、

n = eval(document.myFORM1.myTEXT1.value) を n = eval(objNum.value)

にしたら、どう?
    • good
    • 0
この回答へのお礼

ありがとうございました。

できました。

お礼日時:2014/07/16 14:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報