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

親ウィンドウに
<input type="text" size="30" value="製品名" name="disp_product" onClick="window.open('./search.php','search','menubar=no,height=500,width=800');">

というテキストフォームがあり、フォーカスされた際にsearch.phpが子ウィンドウとして開くよう設定してあります。

search.phpには
<input type="checkbox" name="sample1" value="sample1">sample1
<input type="checkbox" name="sample1" value="sample2">sample2
<input type="checkbox" name="sample1" value="sample3">sample3



<input type="checkbox" name="sample1" value="sample50">sample50

とあります。
この中でチェックされたものの値を「/」でつなげて、
親ウィンドウのテキストフォームに入力された状態にしたいと思っています。

が、一つの値を入力させるところまではできましたが、複数をとなるとできません。
どのようにしたらいいのでしょう。

現在、子ウィンドウのjavascriptは
function ich(n) {
window.opener.document.myForm.disp_product.value=document.getElementById("sample1").value;
window.close();
}
と記述してあります。
この場合は「sample1」が渡されるのはわかりますが、やはり複数を渡すというのがわかりません。

A 回答 (1件)

こんな感じではどうでしょうか。



function ich(n) {
//window.opener.document.myForm.disp_product.value=document.getElementById("sample1").value;
var valueArray = [], checkboxes = document.getElementsByName('sample1');
for (var i = 0, len = checkboxes.length; i < len; i++) {
if (checkboxes[i].checked) valueArray.push(checkboxes[i].value);
}
window.opener.document.myForm.disp_product.value = valueArray.join('/');
window.close();
}
    • good
    • 0
この回答へのお礼

ありがとうございました。
お礼が遅くなりましたが、無事解決出来ました。

お礼日時:2011/08/03 14:08

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