アプリ版:「スタンプのみでお礼する」機能のリリースについて

子ウィンドウ内でリンクをクリックしたら、親ウィンドウのテキストフォームに値が入力される、というところで問題が起きました。

// *********子ウィンドウのソース**********
// ---関数部分---
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>

バックスラッシュを使用する場合は特別な方法があるのでしょうか?
どうかお願いします。

A 回答 (1件)

文字列で\をわすときには\\です。


もし\を5個渡すのであれば10個かいてください

この回答への補足

申し訳ありません、テキストフォームひとつだと、バックスラッシュ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に半角英数字や全角文字等が入っている場合はすべての項目が正常にチェック・入力されます。
どうかご教授いただけないでしょうか

補足日時:2006/05/09 16:11
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/05/28 13:49

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