- 締切済み
親フォームのHiddenに子フォームから設定は可能ですか?
標記の通り、opener.windowにて、親フォームと子フォームを関連付けし、 子フォームで値を入力、close.windowをする際に親フォームのtextfield等に値を設定しております。 その後、設定された値を用いて、親フォームから登録処理等を行っています。 その際に、textFieldには問題なく値がセットされるのですが、どうもHiddenにはセットされていないようです。 そもそもTextfieldも、ソースを見る限りでは内容は書き換わっておりませんでした。 やはり見た目上でのみ設定され、ソース自体はまったく変わらない。 =ソース上でのみ存在するHiddenの値を、JavaScriptで変更することは不可能、という事なのでしょうか? ------------------------------ //親フォームと関連付け function LoadSet(){ oya_win = opener.window; } //フォームclose時に値をセット function oyaMsgSet(){ oya_win.document.フォーム名.elements['Hidden_Name[]'][cnt].value = "1";←ダメ oya_win.document.フォーム名.elements['Txt_Name[]'][cnt].value = "設定値"←OK }
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yyr446
- ベストアンサー率65% (870/1330)
ソース上でのみ存在するHiddenの値を、JavaScriptで変更することは不可能、という事なのでしょうか? => type="hidden"のフィールドもjavascriptで変更できます。 うまくいかないのはどこかに間違いがあるからです。 どこがおかしいかは、提示されているソースだけではわかりません。 フォームのソースも載せて下さい。 cntの値セットはどうしているのですか? Hidden_Name[]、Txt_Name[]の値セットはどうしているのですか?
補足
yyr446様 アドバイスありがとうございます。 試行錯誤した結果、Hiddenの値は変更されておりました。 ただ、質問の意図を自分自身が間違えておりました。申し訳ありません。 以下質問です。 ・親フォームからフォームのデータを子フォームに渡しつつ子フォームを開き、 子フォームでデータ編集後、閉じる際に親フォームへ編集したデータを設定しております。 親フォームはHiddenに編集したいデータを保持しており、 子フォームは親フォームからHiddenデータを受け取って値を編集後、親フォームのHiddenに値を返します。 Ex) 親:HiddenA Value:400→子フォームへ。 ↓ 子:HiddenA Value:400を受け取り、テキストにセット、Value=1000に編集。 親フォームのHiddenAへ返す。 ↓ 親:子フォームからHiddenAのデータを受け取る。HiddenA Value=1000 この後、親フォームにて登録ボタンを押し、登録処理(PHP)を行う分にはまったく問題ありません(編集後のHiddenの取得が可能です)。 ただ、ここで登録を行わず、"再度"子フォームを呼び出してデータを編集しようとすると、 以前(上記の例で倣えば400)のHiddenデータが子フォームにセットされてしまいます。 これはJavaScriptでは可能でしょうか? ソースの掲示に関しては、かなり長いソースの上、まとめる事が難しいので、 申し訳ありませんが、上記質問のお答えを、 出来る/出来ないだけで結構ですので、教えていただければと思います。