プロが教えるわが家の防犯対策術!

JavaScript超ビギナーなので方法がよくわかりません。
フォームにテキストボックス(配列)4個あり
ボタンを押すたびに未記入のテキストボックスにカーソルを移動したいのですが。どのようにしたらいいでしょうか。



<form name="form1" method="post">
<table width="200" border="1">
<tr><td ><input type="submit" name="Submit" value="送信"></td></tr>
<tr><td ><input type="text" name="name1"></td></tr>
<tr><td><input type="text" name="name1"></td></tr>
<tr><td><input type="text" name="name1"></td></tr>
<tr><td><input type="text" name="name1"></td></tr>
</table>
</form>

A 回答 (2件)

なんとなく、こういう事がやりたいのか、って感じで回答するので


違ってたら補足してください。
++++ HEAD ~ /HEAD に ++++
<script type="text/javascript">
function formCheck(F) {
for(var i=0;F.elements[i];i++) {
if(F.elements[i].value=='') {
F.elements[i].focus();
return false;
}
}
return true;
}
</script>

++++ FORM (submitボタンのonclickは不要)++++
<form name="form1" onsubmit="return formCheck(this)">

submitボタンを押すと、
・未記入の項目があれば、カーソルをそこに移し、送信はキャンセル。
・全て記入されていればそのまま送信。
    • good
    • 0
この回答へのお礼

ありがとうございました。
上手くいきました。

お礼日時:2009/03/02 10:11

提示したHTMLのほかに、カーソル移動ボタンを追加して、という事でしょうか?それとも送信ボタンを使って??


どうも、目的とか動作イメージがよくわからないです。

単純に上からフォーカスを移動させるだけなら、キーボードのTABキーを押してもらえばいいのですが。

この回答への補足

マウスしかつかえないので。(ボタンで移動以外は変更不可仕様なので)

たとえば必ずtext1[0]にあわせるなら下記でなるのですが
未記入のテキストボックスを探す方法がわかりません。
"送信"を押すたびに未記入のtext1[0~3]に移動したいのです。


<html>
<body onload="document.form1.text1[0].focus();">

<form name="form1">
<input type="submit" name="Submit" value="送信" onClick="document.form1.text1[0].focus();"><BR>
<input type="text" size="21" value="" name="text1" /><br />
<input type="text" size="21" value="" name="text1" /><br />
<input type="text" size="21" value="" name="text1" /><br />
<input type="text" size="21" value="" name="text1" /><br />
</body>
</html>

補足日時:2009/02/27 18:12
    • good
    • 0

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