電子書籍の厳選無料作品が豊富!

HTML上にinputタグが複数あって、その値をJavascriptで配列として受け取るコーディングをしています。
例えばこんな感じで・・・
【サンプル1】
<form method="post" action="***.cgi" name="form1" onsubmit="return valueCheck(this);">
<input type="hidden" name="wData" value="aaa">
<input type="hidden" name="wData" value="bbb">
</form>

function valueCheck(wForm) {
document.write('wData='+wForm.wData[0].value);
document.write('wData='+wForm.wData[1].value);
}

ただ、inputが1つしかない時もあるのですが、そのときの値が配列で受け取れません。
下記のように修正すると動くので、配列じゃないただの値だと判断されているようです。
【サンプル2】
<form method="post" action="***.cgi" name="form1" onsubmit="return valueCheck(this);">
<input type="hidden" name="wData" value="aaa">
</form>

function valueCheck(wForm) {
document.write('wData='+wForm.wData.value);
}

inputの値がいくつあるのかは都度変わるので、1つの時でも配列で処理したいのですが
どのように記述すればいいのでしょうか。

A 回答 (1件)

onSubmitでdocument.writeするとソースが書き換わっちゃうので


まずいでしょう。一応alertしておきます。
以下のようにすれば全体をナメてデータを取得することができます。

<script language="javascript">
function valueCheck(wForm) {
flg=false
for(var i=0;i<wForm.length;i++){
if(wForm[i].name=="wData"){
alert('wData='+wForm[i].value);
flg=true;
}
}
return flg;
}
</script>
<form method="post" action="***.cgi" name="form1" onsubmit="return valueCheck(this)">
<input type="text" name="wData" value="aaa">
<input type="text" name="wData" value="bbb">
<input type="submit" value="send">
</form>
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
なるほど。そういうことだったんですね。

お礼日時:2006/11/13 18:13

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