• 締切済み

子ウィンドウ→親ウィンドウのテキストフォームでバックスラッシュは?

子ウィンドウ内でリンクをクリックしたら、親ウィンドウのテキストフォームに値が入力される、というところで問題が起きました。 // *********子ウィンドウのソース********** // ---関数部分--- function fntext(val1){ if (window.opener){ // 引数のval1を親ウィンドウのテキストフォームに入れる window.opener.document.フォーム名.テキストフォーム名.value=val1; } } // ---リンク部分--- <a href="#" onclick="fntext('117680')">xxxx</a> で、fntext関数の引数に全角文字や数字や英字を入れた場合はまったく問題ないのですが '\\\\\'というバックスラッシュ(円マーク)を入れると、親ウィンドウのテキストフォームに 値が入力されません。(↓こんな感じだと入力されません) <a href="#" onclick="fntext('\\\\\')">xxxx</a> バックスラッシュを使用する場合は特別な方法があるのでしょうか? どうかお願いします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

文字列で\をわすときには\\です。 もし\を5個渡すのであれば10個かいてください

myaa_myu
質問者

お礼

ありがとうございました、 勉強になりました。

myaa_myu
質問者

補足

申し訳ありません、テキストフォームひとつだと、バックスラッシュ2個分が1つとして入力されることを確認できました。 私が情報を小出ししてしまって大変申し訳ないのですが、実はJavaScriptは下記のようになっています。 親ウィンドウには3つのテキストフォーム、1つのセレクトメニュー、3つのチェックボックスがあります。 // *****子ウィンドウのソース******* // ------関数部分----- function fntext(val1,val2,val3,val4,val5,val6,val7){ if (window.opener){ // val1,2,3については親ウィンドウのテキストフォームに値を入れる window.opener.document.フォーム名.テキストフォーム名.value=val1; window.opener.document.フォーム名.テキストフォーム名.value=val2; window.opener.document.フォーム名.テキストフォーム名.value=val3; // val4については合致する親ウィンドウのセレクトメニューを選択させる for (i=0; i<window.opener.document.フォーム名.セレクトメニュー名.options.length; i++){ if (window.opener.document.フォーム名.セレクトメニュー名.options[i].value==val4){ window.opener.document.フォーム名.セレクトメニュー名.options[i].selected=true; } } // val5,6,7については値が指定された値なら親ウィンドウのチェックボックスをチェックする if(val5 != '0'){ window.opener.document.フォーム名.チェックボックス名.checked=true; }else{ window.opener.document.フォーム名.チェックボックス名.checked=false; } if(val6 != '0'){ window.opener.document.フォーム名.チェックボックス名.checked=true; }else{ window.opener.document.フォーム名.チェックボックス名.checked=false; } if(val7 != ''){ window.opener.document.フォーム名.チェックボックス名.checked=true; }else{ window.opener.document.フォーム名.チェックボックス名.checked=false; } } } // ----子ウィンドウのリンク部分 ---- <a href="#" onclick="fntext('021210','324242','\\\\\\','3','0','0','')">xxxxxxx</a> としたとき、引数のval3にだけバックスラッシュが入る場合があります。 そのとき、リンクのxxxxxxxをクリックしても、親ウィンドウに何も反映されなくなってしまいます。 (チェックボックスやほかのテキストボックスも何もチェック・入力されません) val3に半角英数字や全角文字等が入っている場合はすべての項目が正常にチェック・入力されます。 どうかご教授いただけないでしょうか

関連するQ&A