dポイントプレゼントキャンペーン実施中!

題名が少し変で分かりにくいですが
以下のようなコードを書いています

<SCRIPT language="JavaScript">
function win_open(){//
var cnt;
var to1;
var frm1;
var i;
cnt=25;

for(i=6; i<=cnt; i++) {
to1="document.hoge.koumoku" + i + ".value";
frm1="self.opener.document.hoge.koumoku" + i + ".value";
ここにto1で指定したテキストボックスに入れる = eval(frm1);
}
}
</SCRIPT>

親から 子を開いて 子のスクリプトで
子のフォームへ親の値を代入したいのですが
25項目あるので 25行書くのもスマートでないから
for文でやってみようと思ったのですが
親から値を取る方はeval関数でうまく取得できたのですが
このフォーム内のテキストボックスに書く場合
eval関数だと 戻り値を指定するのだから
エラーが返ってきます。
かといって document.hoge.koumoku" + i + ".value = eval(frm1);
では構文エラーになってしまいました
何か他に関数があるのかよく分からないので
教えて頂けたらと思っています

よろしくお願いします

A 回答 (1件)

main.html


<html><body><form>
<input type="text" id="t0"><br>
<input type="text" id="t1"><br>
<input type="text" id="t2"><br>
<input type="button" value="open sub.html" onclick="window.open('sub.html','sub')"><br>
<input type="text" id="ta"><br>
</form></body>

sub.html
<html>
<body>
<form>
<input type="text" id="t0"><br>
<input type="text" id="t1"><br>
<input type="text" id="t2"><br>
<input type="button" value="get" onclick="getMain()"><br>
<input type="text" id="ta"><br>
<input type="button" value="return" onclick="retMain()"><br>
<script>
function getMain(){
var s='';
for(var i=0;i<3;i++){
document.getElementById('t'+i).value=window.opener.document.getElementById('t'+i).value;
s+=window.opener.document.getElementById('t'+i).value+'/';
}
document.getElementById('ta').value=s;
}
function retMain(){
window.opener.document.getElementById('ta').value=document.getElementById('ta').value;
}

</script>
</body>

この回答への補足

こちらも すべてうまくいきましたので締め切ります
本当にありがとうございました。

補足日時:2008/09/18 23:28
    • good
    • 0
この回答へのお礼

声なき回答ありがとうございます。
おかげで getElementById について勉強できました

おかげさまで ばっちり思い通りに作動しました

論より証拠 ありがたい回答でした

ありがとうございます。

お礼日時:2008/09/14 22:37

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