• 締切済み

自動ジャンプでフォームデータ(POST属性)を送りたいのですが

問題を出すプログラムで、一定時間後に強制的に採点のページに飛ばされるプログラムを組んでいます。その際問題のデータと隠し属性(HIDDEN)のデータをPOST属性で送信したいのですが、強制移動の際の動作がどうもうまくいきません。詳しい方助言していただけないでしょうか。 構成は以下のようになっています。 <META HTTP-EQUIV="refresh" CONTENT="600;URL='./ans.cgi'"> (略) <FORM ACTION="./ans.cgi" METHOD="POST"> (問題が入ります) <INPUT TYPE="HIDDEN" NAME="id" VALUE="$id"> <INPUT TYPE="SUBMIT" VALUE="決 定">

  • Perl
  • 回答数1
  • ありがとう数5

みんなの回答

  • kt_yuka
  • ベストアンサー率53% (8/15)
回答No.1

meta のrefresh では、フォームとか関係なしに、指定のURLに飛ぶだけです。 javascript を使ってみてはどうでしょうか。 以下は、bodyがロードされてから6秒後(6000ミリ秒後)に mondaiという名前のフォームを送信しています。 <html> <head> <script language="JavaScript"> <!-- function hogehoge(){ document.mondai.submit(); } //--> </head> </script> <body onload="setTimeout( 'hogehoge()', 6000 )"> <FORM name="mondai" ACTION="./ans.cgi" METHOD="POST"> (問題が入ります) <INPUT TYPE="HIDDEN" NAME="id" VALUE="$id"> <INPUT TYPE="SUBMIT" VALUE="決 定"> </body> </html>

関連するQ&A

  • hidden属性だけのフォーム

    hidden属性だけのフォームというのはちゃんと動作しますか? 自分のソースでは動作せず、送り先のPHPスクリプトでvar_dump()すると、$_POST['']の中身が NULL になってました。送信やリセットボタンを作らずに送信できるとすれば、どんな ソースになりますか? <?php echo '<form name="form1" method="POST" action="../../disp_access.php">'; echo '<input type="hidden" name="from" value="1">'; // どのページから飛んできたかを示す echo '<input type="hidden" name="browser" value="'.$referer.'">'; echo '<input type="hidden" name="ip" value="'.$ip.'">'; echo '</form>'; ?>

    • ベストアンサー
    • HTML
  • PHPで隠しデータをPOST送信する方法

    <form name="example" method="POST" action="example.php"> <input type="text" name="id" value="" /> <input type="password" name="pw" value="" /> <input type="submit" value="ログイン" /> </form> 上記のようなログインフォームがあるとします。 <input type="hidden" />のようにソースを見たらわかってしまう方法ではなく、 クライアント側で完全に見えないよう、id,pwの送信と同時にPHPで隠しデータをPOST送信する方法はございますでしょうか。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • フォームのPOSTデータをサブウィンドウに渡したいです。

    フォームのPOSTデータをサブウィンドウに渡したいです。 <form action="sample.html" method="post"> <input type="checkbox" name="test[]" value="0">0 <input type="checkbox" name="test[]" value="1">1 <input type="checkbox" name="test[]" value="2">2 <input type="checkbox" name="test[]" value="3">3 <input type="checkbox" name="test[]" value="4">4 </form> 上記のフォームの値を、サブミットボタンを押したときにサブウィンドウをひらき、そのサブウィンドウに渡したいのですが、いまいち上手くいきません。 window.openでサブウィンドウを開いてもデータが受け渡せずにいます。 このような場合、どうしたら値を渡せるのでしょうか。 理想はPOSTで渡したいのですが、引数で渡す方法でもかまいません。

  • JavaScriptにおいてPOSTで送信されたデータを取得出来ますか

    <form action="自分" method="POST"> <input type="hidden" name="abc" value="1"> <input type="submit" name="OK" value="OK"> </form> 上記のように、POST渡しで送信したとき、Javascriptにて、hiddenのデータを取得することができるのでしょうか? 出来るのであればその方法を教えてくださいませんか。 よろしくお願いします。

  • フォームよりCGIへ複数の値をPOSTしたい…。

    はじめまして。 現在、ショッピングカートのCGIを利用するためにHTMLを調整しています。 【単一商品の場合】 <FORM action="cgi-bin/cart/cart.cgi" method="POST"><INPUT type="hidden" name="shouhinnumber" value="0001"><INPUT type="hidden" name="shouhinmei" value="高級シャンプー"><INPUT type="hidden" name="kakaku" value="3000"> あとはセレクトフォームで数を選択して送信すれば正常に料金計算されるのですが、これが、内容量によって料金が異なる場合、どのようにHTMLを組めばよろしいのでしょうか。 ラジオボタンでそれぞれの行にINPUTを入れたが、先頭のINPUTしか認識せず、フォーム文を複数作るとマージンが空き、複数選択が可能になってしまう。 なお、CGIをいじるのは危険なので、HTML内でどうにかしたい・・・。 つまり・・・ 高級シャンプーの 260mlが1800円 500mlが3000円 というように単一商品名で代金が異なるものを1つのフォーム内でCGIへ送信できないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • 特殊文字をPOSTした際の動作は?

    特殊文字はPOSTした際、「"」は「%22」などに内部でURLエンコードされ、受け取り元では元の文字にURLでコードされているはずですが、これに絡んだ動作がいまいち理解しきれないので、お教え願えればと思います。 フォームで、テキストエリアに「"」などを入力してPOSTし確認表示させる際に、HTML出力する際に最終の処理をするCGIへPOSTするために「hidden」属性でPOSTするためのデータを持たせています。 ただ、そのままだと <input type="hidden" name="xxx" value="""> となってしまい、POST先では値がなしになってしまうため、HTML出力する際に「"」を「"」に置換して <input type="hidden" name="xxx" value="""> としています。 これをPOSTした際、受け取り元でデータを見ると、予想ではそのまま「"」となっているはずでしたが、なぜかちゃんと「"」に戻されています。 ほかの「&」なども同様でした。 これは、正常なのでしょうか? 自分は、POSTされたものは受け取り先でもそのまま「"」だと思っていたので、「"」を元の「"」に置換する処理を入れていたのですが・・・ 基本的なことだと思いますが、よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • メールフォーム

    【満足できる回答に300ポイント】メールフォームをホームページに設置しました。CGIはフューチャースピリッツhttp://www.future-s.com/でお借りしました。送信ボタンを押した後、自分が指定した特定のページを表示させたいのですが、借りているところのホームページに行ってしまいます。自分の指定したページを表示させるにはどんなHTMLにしたらいいのでしょうか? 現在は下記のようなHTMLを使っています。 <form action="http://form3.future-s.com/cgi/form3.cgi" method="post"> <input type="hidden" name="formid" value="IDナンバー"> <input type="hidden" name="formsubject" value="○○"> <input type="hidden" name="formlog" value="1"> 中略 </FONT><P><FONT size="-1"><INPUT TYPE="submit" VALUE="送  信"> <INPUT TYPE="reset" VALUE="リセット"> もしHTMLが問題でないなら、下記の条件を満たすフォームを教えてください。 ・CGIを借りても広告の入らないもの ・フォームは自分で作ったものが使えること ・送信後、自分が特定したページを表示させること ・無料であること どうぞよろしくお願いします。

  • POSTデータのNAME属性をVALUEによって取得する方法

    HTML→PHPのPOSTデータのやりとりについて、 【HTML】 <form name="form1" method="post" action="xxx.php"> <input name="01" type="text" value="1"> <input name="02" type="text" value="0"> <input name="03" type="text" value="0"> <input name="04" type="text" value="1"> <input type="submit" name="Submit" value="送信"> </form> 【xxx.php】 フォームから送信されたデータを使って、「value」が"1"の「name」を拾うのにはどのように書けばいいでしょう? ↓このように取得したいです。 $data[0]="01"; $data[1]="04"; よろしくお願いします。

    • ベストアンサー
    • PHP
  • postのタイムラグ

    以下のソースでPOSTの値が取れないときがあるので困っています。 具体的にはページを表示してから30秒程度待ってからの クリックじゃないとPOSTの値が取れません。 GETの場合はページ表示後すぐにボタンをクリックしても大丈夫でした。 原因が分からず途方に暮れています。 お知恵をお貸しください。 PHP Version 5.2.3 <?php $P_data = $_POST["pg"]; print("POST=>".$P_data."<BR>"); $G_data = $_GET["pg"]; print("GET=>".$G_data."<BR>"); print <<< DOC_END <html> <head> </head> <body> DOC_END; echo"<form action=test.php method=post>"; echo"<input type=hidden name=pg value=1>"; echo"<input type=submit value=あ>"; echo"</form>"; echo"<form action=test.php method=post>"; echo"<input type=hidden name=pg value=2>"; echo"<input type=submit value=い>"; echo"</form>"; echo"<form action=test.php>"; echo"<input type=hidden name=pg value=3>"; echo"<input type=submit value=う>"; echo"</form>"; echo"<form action=test.php>"; echo"<input type=hidden name=pg value=4>"; echo"<input type=submit value=え>"; echo"</form>"; print <<< END </body> </html> END; ?>

    • 締切済み
    • PHP
  • フォームデータの受取り方

    お世話になっております。フォームデータの受取り方が判らず質問させて下さい。 少々長いのですが、以下はPHPで作ったファイルです。 (IDは重なってはならないと考え、変数で番号を与えて回避しています) <!DOCTYPE html> <html lang="ja"> <head> <meta charset="EUC-JP" /> <title></title> <script type="text/javascript" src="/jquery/js/jquery.min.js"></script> </head> <body> <script> $(document).ready(function(){ $('#send1').click(function(){ var data = {comment : $('#comment1').val()}; $.ajax({ type: "POST", url: "send.php", data: data, success: function(data, dataType){ }, error: function(XMLHttpRequest, textStatus, errorThrown){ alert('Error : ' + errorThrown); } }); return false; }); }); </script> <form method="post"> <INPUT type="hidden" name="comment_no" id="comment_no" value="1"><p><textarea name="comment1" id="comment1" style="width:400px; height:20px; padding:6px 5px; font-size:13px; overflow:hidden; vertical-align:text-bottom;" onkeyup="resize(this)"></textarea></p> <p><input id="send1" value="送信1" type="submit" /></p> </form> <hr> <script> $(document).ready(function(){ $('#send2').click(function(){ var data = {comment : $('#comment2').val()}; $.ajax({ type: "POST", url: "send.php", data: data, success: function(data, dataType){ }, error: function(XMLHttpRequest, textStatus, errorThrown){ alert('Error : ' + errorThrown); } }); return false; }); }); </script> <form method="post"> <INPUT type="hidden" name="comment_no" id="comment_no2" value="2"><p><textarea name="comment2" id="comment2" style="width:400px; height:20px; padding:6px 5px; font-size:13px; overflow:hidden; vertical-align:text-bottom;" onkeyup="resize(this)"></textarea></p> <p><input id="send2" value="送信2" type="submit" /></p> </form> </body> </html> ここで質問させて下さい。 上記フォームデータの受取り先である、send.phpは $comment = $_POST['comment']; としてテキストフォームの値を拾っているのですが、 hidden データの comment_no は、どのように値を拾ったらよろしいのでしょうか? 前回の質問同様、AJAXを触り初めて間もなく、googleで調べようにも適切なキーワードが判らずにいる次第です。 お忙しいなか恐縮ですが、アドバイスのほど頂戴出来たら幸いです。 宜しくお願い致します。

    • ベストアンサー
    • AJAX

専門家に質問してみよう