解決済みの質問
題名が少し変で分かりにくいですが
以下のようなコードを書いています
<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);
では構文エラーになってしまいました
何か他に関数があるのかよく分からないので
教えて頂けたらと思っています
よろしくお願いします
投稿日時 - 2008-09-14 19:03:16
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-14 20:15:40
補足
こちらも すべてうまくいきましたので締め切ります
本当にありがとうございました。
投稿日時 - 2008-09-18 23:28:23
お礼
声なき回答ありがとうございます。
おかげで getElementById について勉強できました
おかげさまで ばっちり思い通りに作動しました
論より証拠 ありがたい回答でした
ありがとうございます。
投稿日時 - 2008-09-14 22:37:36
0人が「このQ&Aが役に立った」と投票しています