• 締切済み

親ページのフォーム入力データを子ページのテーブルに書き込ませるには?

親ページ(フォーム入力ページ)から location.href で子ページ(確認ページ)を開くところまでは簡単なのですが、その次、親ページのフォーム入力データ(テキストフィールドのvalue、セレクトメニューのvalue、チェックボックスのvalue )の特定のものを子ページのテーブルの特定のセルに書き込ませるにはどうしたらよいのかわかりません。 なにとぞお教えくださいませ。m(__)m 要は、企業のページに出てくる確認ページの真似をしたいのでアリマス。 当方、JavaScを始めて2ヶ月の準初心者です。やさしく解説してやってくださいませ。

みんなの回答

回答No.1

POSTのデータをjavascriptでは受け取れません。 GETは可能ですが文字化けする場合があります。 なので、以下例ではスクリプトでエンコードして URL?以降に繋げてデータを渡してます。 以下をa.htmlとして保存 <html> <head> <meta http-equiv="content-type" content="text/html; charset=shift_jis"> <script> function check(){ var obj=document.forms[0]; if(obj.txt.value==""){ alert("名前を入力してください。"); }else{ str1="txt="+escape(obj.txt.value); str2="&slt="+escape(obj.slt.value); str3="&chk="; if(obj.chk[0].checked){str3+=escape(obj.chk[0].value);} if(obj.chk[1].checked){str3+=escape(","+obj.chk[1].value);} location.href="b.html?"+str1+str2+str3; } } </script> </head> <body> <form> 名 前: <input type="text" name="txt" value="" /><br><br> 年 齢: <select name="slt"> <option value="10歳以下">10歳以下 <option value="10歳以下">20歳以下 </select><br><br> ペット: <input type="checkbox" name="chk" value="犬" checked/>犬 <input type="checkbox" name="chk" value="猫" />猫<br><br> <input type="button" value="送信" onclick="check()"/> </form> </body> </html> 以下をb.htmlとして保存 <html> <head> <meta http-equiv="content-type" content="text/html; charset=shift_jis"> <script> function getkey(key,tmp1,tmp2,xx1,xx2,xx3){ tmp1=location.search.substring(1,location.search.length)+"&"; xx1=xx2=0; len=tmp1.length; while(xx1<len){ xx2=tmp1.indexOf("&",xx1); tmp2=tmp1.substring(xx1,xx2); xx3=tmp2.indexOf("="); if (tmp2.substring(0,xx3)==key){ return(unescape(tmp2.substring(xx3 + 1, xx2 - xx1))); } xx1=xx2+1; } return(""); } function start(){ txt=getkey("txt"); slt=getkey("slt"); chk=getkey("chk"); str="名 前:"+txt+"<br>年 齢:"+slt+"<br>ペット:"+chk; text.innerHTML=str; } </script> </head> <body onload="start()"> <table> <tr> <td id="text"> </td> </tr> </table> </body> </html>

noname#19070
質問者

お礼

ご回答いただいたscriptを理解しようと悪戦苦闘しましたが、私のスキルと脳力では残念ながらかなわず、とりあえず幼稚なconfirmでやることにしました。 貴重なお時間を割いてご回答いただきましたのに、使わせていただくことができなかったことをお詫び申し上げます。m(_ _)m

noname#19070
質問者

補足

さっそくのご回答ありがとうございます。 私のスキルでは理解できないところがありますので、参考書と首っ引きで研究させていただきます。(゜-゜;

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • DGV/子フォームで編集して親フォームへ

    親フォームと子フォーム、どちらにもDataGridViewを用意し、親フォームのセレクト行を子フォームに表示するというプログラムがあります。 さらに子フォームで直接DataGridViewに入力し編集して、更新ボタンを押して親フォームに反映させたいです。(関数を使いたい) ご教授お願いします(´;ω;`) Form1 private void DataGridView1_SelectedRowsDoubleClick(Object sender, MouseEventArgs e) { Form2 f2 = new Form2(); f2.setRowData(dataGridView1.SelectedRows); f2.Show(); } Form2 public void setRowData(DataGridViewSelectedRowCollection rows) { DataTable dt = createData(); foreach (DataGridViewRow r in rows) { string s1 = r.Cells[1].Value.ToString(); string s2 = r.Cells[2].Value.ToString(); string s3 = r.Cells[3].Value.ToString(); dt.Rows.Add("12345", s1, s2, s3); } dataGridViewDisp2(dt); } private void savebtn_Click(object sender, EventArgs e) { }

  • プルダウンで選択したページにフォームデータを送る

    a.htmlからプルダウンで選択した1~6までのhtmlに、フォームデータを送る ということは可能でしょうか? いろいろ組み合わせたりしていますがうまくいきません。 どなたかご教授お願い致します。 <SCRIPT LANGUAGE="JavaScript"> <!-- function jumpMenu(){ location=(document.link.list.options [document.link.list.selectedIndex].value); } //--></SCRIPT> <SCRIPT LANGUAGE="JavaScript"> <!-- // sendURL = " jumpMenu()"; function sendData() { sData = escape(doument.myFORM.theData.value); Location.href = sendURL + "?"+sData; } //--> </SCRIPT> <form name="myFORM"> <SELECT NAME="list"> <OPTION VALUE="1.html" SELECTED>1</OPTION> <OPTION VALUE="2.html">2</OPTION> <OPTION VALUE="3.html">3</OPTION> <OPTION VALUE="4.html">4</OPTION> <OPTION VALUE="5.html">5</OPTION> <OPTION VALUE="6.html">6</OPTION> </SELECT> <INPUT TYPE="TEXT" SIZE="61" NAME="a"> <INPUT TYPE="submit" VALUE="GO" onClick="sendData()"> <INPUT TYPE="reset" VALUE="クリア">

  • 子フォームの情報を親フォームに利用する

    Visual C++初心者です。visual studio2005を使用しています。 まず親フォームで名前を入力させ、「次へ」を押すと子フォームが出て来ます。 そこで好きな食べ物を入力させて「決定」ボタンを押すと子フォームが閉じ、親フォームのテキストボックスに 「○○さん、こんにちは!好きな食べ物は●●ですね」というメッセージを表示させる・・・というフォームアプリケーションを作りたいのです。 子フォームの表示は分かるのですが、そこで入力させた情報を親フォームに反映させる方法が分かりません。 できれば初心者でも分かる回答をして頂ければ有難く思います。 よろしくお願いします。

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

    子ウィンドウ内でリンクをクリックしたら、親ウィンドウのテキストフォームに値が入力される、というところで問題が起きました。 // *********子ウィンドウのソース********** // ---関数部分--- 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> バックスラッシュを使用する場合は特別な方法があるのでしょうか? どうかお願いします。

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

  • 子フォームから親フォームのオブジェクトを参照したい。

    こんばんわ。 いまVB.Net2005でプログラミングしている者です。 子フォームから親フォームのオブジェクトを参照したいのですが, うまくいきません。 親フォームにListBox1を置き, ここに入力された内容を 子フォームで下記のように参照しようとしました。 Dim 子フォーム As New 子フォーム Label1.Text = 親フォーム.ListBox1.SelectIndex としたのですが, 親フォームでListBox1に0以外のリストを選択したのに, 子側に来ると親フォーム.ListBox1.SelectIndexの値が 0になってしまい,親側での選択内容が反映されません。 どうすれば正しく参照できるでしょうか? 教えてください。よろしくお願いします。

  • 入力フォーム後の確認ページの作り方

    今、入力フォームを使ったWebページを作っています。 アンケートなどに回答すると、「これでよろしいですか?」と、 記入ミスが無いか確認できる画面が、送信ボタンを押すと表示 される場合がありますが、これってJavaScriptのみでつくるこ とは可能ですか?それともCGIを組み合わせないとダメですか?   入力フォームで入力された値をJavaScriptで作った変数に格納して、 その変数を別ページ(確認ページ)で読ませてこのようなページが できないものか考えているのですが、私の力量ではうまくいきませ んでした。   是非みなさんのお知恵をお借りしたいと思います。 よろしくお願いします。

    • 締切済み
    • CSS
  • ACCESSのフォームで、あるテーブルのフィールドが特定の数字で始まる場合に”1”を入力したい。

    一覧フォームのフィールドで、表示されていないテーブルのフィールドが、特定の数字から始まるレコードが入力されている場合に、その一覧のフィールドに”1”を入力させたいのですが、やりかたがわかりません。 その一覧フォームが開くときのマクロで、値の代入などやってみましたが全然できません。 考え方が全く思い浮かばずにいます。 ちょっと説明が分かりにくいかと思いますが、その際は補足説明しますのでお願いいたします。

  • アンケートフォームで入力後、

    アンケートフォームで入力後、 確認画面を表示するWEBページを 作りたいのですが、ユーザーが、 質問項目のフィールドを自由に 設定するだけで、確認画面にも 反映するようなことを実現するには どのような方法が、ありますでしようか。

    • ベストアンサー
    • HTML
  • 親ページの変更を維持する

    親ページをクリックして子ページを表示させて、クリックして親ページの一部を変更させる。 これをjavascriptでopener.document..(formのname.value).location.reload(); これで親ページの一部が変更するのですが、他の人がその親ページを表示させたとき、変更していないのですが、これを変更させるにはどうするのですか

このQ&Aのポイント
  • 障害者雇用で働く20代女性が、職場の先輩から「やる気が感じられない」「あくびや独り言を言っている」と指摘されて悩んでいます。関係性を悪くしないためにはどうすれば良いか回答を求めています。
  • 障害者雇用の女性が、職場の先輩から「やる気が感じられない」「あくびや独り言を言っている」と指摘されて不信感と怒りを抱いています。関係性の悪化を避けるためにどう対処すべきか質問しています。
  • 職場の先輩から「やる気が感じられない」と指摘された障害者雇用の女性。先輩がマスク越しにあくびや独り言を言っているのを見かけたため、自分のことを言われているのではないかと不信感を抱いています。指摘するべきかどうか悩んでいます。
回答を見る

専門家に質問してみよう