• 締切済み

親フォームの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 }

みんなの回答

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

ソース上でのみ存在するHiddenの値を、JavaScriptで変更することは不可能、という事なのでしょうか? => type="hidden"のフィールドもjavascriptで変更できます。 うまくいかないのはどこかに間違いがあるからです。 どこがおかしいかは、提示されているソースだけではわかりません。  フォームのソースも載せて下さい。  cntの値セットはどうしているのですか?  Hidden_Name[]、Txt_Name[]の値セットはどうしているのですか?

carm
質問者

補足

yyr446様 アドバイスありがとうございます。 試行錯誤した結果、Hiddenの値は変更されておりました。 ただ、質問の意図を自分自身が間違えておりました。申し訳ありません。 以下質問です。 ・親フォームからフォームのデータを子フォームに渡しつつ子フォームを開き、 子フォームでデータ編集後、閉じる際に親フォームへ編集したデータを設定しております。 親フォームはHiddenに編集したいデータを保持しており、 子フォームは親フォームからHiddenデータを受け取って値を編集後、親フォームのHiddenに値を返します。 Ex) 親:HiddenA Value:400→子フォームへ。 ↓ 子:HiddenA Value:400を受け取り、テキストにセット、Value=1000に編集。 親フォームのHiddenAへ返す。 ↓ 親:子フォームからHiddenAのデータを受け取る。HiddenA Value=1000 この後、親フォームにて登録ボタンを押し、登録処理(PHP)を行う分にはまったく問題ありません(編集後のHiddenの取得が可能です)。 ただ、ここで登録を行わず、"再度"子フォームを呼び出してデータを編集しようとすると、 以前(上記の例で倣えば400)のHiddenデータが子フォームにセットされてしまいます。 これはJavaScriptでは可能でしょうか? ソースの掲示に関しては、かなり長いソースの上、まとめる事が難しいので、 申し訳ありませんが、上記質問のお答えを、 出来る/出来ないだけで結構ですので、教えていただければと思います。

関連するQ&A