• ベストアンサー

JavaScriptでデータ送信

hakkiriitteの回答

回答No.2

なんかまだよくわかんない。 JavaScriptボタンって何でしょう。それはどこにあるのでしょう。ゲームと同じページですか? CGIページっていうのは何でしょう。JavaScriptボタンを押したときに表示されるページですか? CGIっていうのは、サーバーにおくプログラムのことで、この場合、Perlを指します。 そのPerlのスクリプトを見ないとなんとも言えません。 リファラーの取得はどのようにしていますか?

cocolink
質問者

お礼

ご回答ありがとうございます。 JavaScriptボタンとCGIページはおっしゃる通りのページでございます。リファラーは$ENV{'HTTP_REFERER'}で取得しておりました。

関連するQ&A

  • javascriptのフォームデータをCGIで複数行取得

    javascript内の変数を複数行のフォームでCGIに渡したいのです。 その際のコードが document.write("<form name='form1' action='xxx.cgi' method='post' enctype='text/plain'>"+           "<input type='hidden' name='state' value=''>"+           "<input type='hidden' name='state2' value=''>"+           "</form>"+           "<input type='button value='送信' onClick='tocgi(a,b)'>");       tocgi(n1,n2){       document.form1.state.value=n1;       document.form1.state2.value=n2;       document.form1.submit();        } なのですが、a、bの値がそれぞれ10、20だった時、一行目のフォームデータは出力されるのですが、2行目が出力されないのです。実行結果でいうとstate=10ですね。引数を一つにしても同じでした。何がいけないのか、全然わかりません…。それとも、CGIのコードの書き方に問題があるのでしょうか。でも、CGIの方は変えずに単純にHTMLで記述すると上手くいくみたいなんですよね。どなたかわかる方がいたら助けて下さい!

    • 締切済み
    • CGI
  • javascriptのsubmitを使ってデータをpost送信したい。

    javascriptのsubmitを使ってデータをpost送信したい。 aaa.phpというファイルに複数のチェックボックスがあり、リンクをクリックしたときに チェックされた値のみをbbb.phpへ引き渡したいです。 自分なりに書いてみましたが、bbb.phpへは遷移するものの、データが表示されません。 document.form1.method部分をGETにすると、データは表示されますが、POSTにすると うまく引渡しができません。 的外れな書き方をしているかもしれませんが、どなたかご教授いただけませんでしょうか? よろしくお願いいたします。 【追記】 チェックボックスの数は固定ではなく変動があり、値も実際はランダムです。 デザインの都合上どうしてもaタグでしか記述が出来ません。 ------------------------------------------------------------------------------ 【aaa.php】 <script language="JavaScript"> <!-- function mailform() {  var i = 0;  var chkvalue = "";  var count = 0;  var chk = document.getElementsByName('no');  for(i=0; i<chk.length; i++) {   if (chk[i].checked == true) {    chkvalue += chk[i].value;    count++;   }  }  if(count == 0) {   alert("チェックされていません。");   return false;  } else {   document.form1.action = "./bbb.php";   document.form1.method="post";   document.form1.submit();  } } //--> </script> <a href="#" onClick="send()">bbb.phpへ遷移する</a> <form name="form1">  <input type="checkbox" name="no" value="1"><br />  <input type="checkbox" name="no" value="2"><br />  <input type="checkbox" name="no" value="3"><br />  <input type="checkbox" name="no" value="4"><br /> </form> 【bbb.php】 var_dump($_POST["no"]);

  • PerlでJavaScriptを作成しているのですが・・・

    PerlでJavaScriptを作成しているのですが、以下の部分で困っています。 たとえば、Perlの変数「$codes」に「AAA\nBBB\nCCC\n」が入っているとします。 ----------------------------------------------------------------------  print <<"END_OF_HTML";  function sample()  {   document.FORM.ele.value="$codes";  }  END_OF_HTML ---------------------------------------------------------------------- とPerlで記述すると、作成されたソースは、 ----------------------------------------------------------------------  function sample()  {   document.FORM.ele.value="AAA  BBB  CCC  ";  } ---------------------------------------------------------------------- となり、JavaScriptエラーになってしまいます。 Perlでエンコードしてから、JavaScriptでデコードしてみよう!と試してみたのですが、Perl⇔JavaScriptのエンコード/デコードがうまくいきませんでした。 (Perlでエンコードした値が、JavaScriptで元の形に戻せませんでした。わたしの能力不足です。。。) どなたか、よい方法をご存知ないでしょうか?よろしくお願いします。

    • ベストアンサー
    • Perl
  • フォームデータの取得について

    Aという画面からBという画面を呼び出し、B画面でファイルのアップロードを行いたいと思っています。 AからBの呼び出しは、 <a href="javascript:document.form1.submit()">B画面へ</a> ・・・ <form name="form1"method="post" action="upload.cgi" > <input type="hidden" name="id" vlue="123"> </form> このようにリンクからサブミットしています。 B画面の表示とファイルのアップロードを行うプログラムupload.cgiでAからのデータ(id)が受け取れません。 B画面からupload.cgiを呼んだ時は、アップロードファイルやhidden項目も正常に取得できています。 サブミットボタンからの送信とjavascriptからのサブミットでは送信データが違うのでしょうか。 cgi-lib.plのReadParseを使うとA画面からのデータを正常に取得できるのですが、 B画面がファイルアップロードを行うため、別の処理でフォームデータの取得を行っています。 (コーディングは長さ制限のため書けませんでしたが、とほほのWWW入門のwwwupl2.cgiを参考にしています) どなたかご存知の方いらっしゃいましたら、お願いいたします。

  • どこにJavascriptが使われてるかわからない

    このタグのどこにJavascriptが使われてるか教えてもらえますか? <body> <form> <input type="button" value="HOMEページへ移動" onclick="document.location = 'http://www.yahoo.co.jp/';" /> </form> </body> これです。 document.location がJavascriptなのでしょうか?

  • JavaScriptからPerlへデータを送る方法について

    プログラミング初心者です。 HTMLで書いたフォームの中にあるテキストエリアのデータを、JavaScriptでデータを取り出して、それをPerlで受け取りたいのですが、方法に見当がつきません。 以下は書いてみたソースコードです。 HTMLファイル <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Form Test</title> <script type="text/javascript" src="JS/sample.js"></script> </head> <body> <form name=form1> <textarea name="comment" rows="3" cols="30">文字の入力</textarea> <input type="button" value="ボタン" onClick="Button()"> </form> </body> </html> JavaScriptファイル function Button(){ var comment = document.form1.comment.value; alert(comment); //値がとれてるか確認したかっただけです } Perlに関しては、#!/usr/bin/perl ぐらいしか、まだ分かりません。 よろしければ、JavaScriptからのデータ送信、Perlでのデータ受け取り方法を教えていただけないでしょうか。この質問に対して有効なサイトがあれば合わせて教えていただきたくおもいます。 よろしくお願いします。

  • JavascriptからURLを表示させるには

    はじめまして デザインを担当していてJavascriptはよくわからないのですが、、、 Javascriptで function shop(tenpoNo, tantouNo) { document.getElementById("tenpo_no").value = tenpoNo; document.getElementById("tenpo_tantou").value = tantouNo; document.getElementById("post_pattern").value = "init"; document.shop_form.action = "http://***.jp/shop.php"; document.shop_form.target = "_self"; document.shop_form.submit(); } というのがあって (tenpoNo, tantouNo) は わかっているので URLとして  http://***.jp/shop.php?(tenpoNo, tantouNo) という風に 入力したら目的のページにアクセス出来るようにしたいのですが どのようにすれば出来ますでしょうか? ちなみに Javascriptで稼働しているページのリンクにマウスを置くと Javascript:shop("01","003")のようになります。 ご多忙のところ恐縮ですが ご教授をお待ちしております。。。

  • javascriptからCGIにデータを持たせるには

    こんがらがってきました。 javascriptにて得た値をhiddenなどに入れてsubmitして次ページに値を引っ張っていくのはわかります。 そうではなく、 たとえば全ページのURLをdocument.referrerで取得して、 <A HREF="next.cgi?maenopage=★">次のページへ</A> のように★の部分に入れてリンクで引っ張っていくのはできないと考えればいいのしたか。 できないと思っていたのですが、自信がなくなって来たので質問させていただきました。 #「絶対できません」という断言など含めてアドバイスを。 (^^;

  • javascriptからCGIへの値渡し

    cookieは利用しない方向で考えています。 HTML上のdocument.form01.のsubmitが押下されたら一度手入力されたデータ(userinput)を加工し、 別のフォームform02.valueに格納してtest.cgiにPOSTで投げる動作を期待しています。 下記だとページ遷移無しで一時的な格納まで確認しましたが CGIへの送信が機能していないようです。 どの様にすべきでしょうか? [html] <script type="text/javascript"> <!-- function onSubmit() { document.form02.sendform.value = '\"' + document.form01.userinput.value + '\"'; document.form02.submit(); } --> </script> <body> <form name="form02" method="POST" action="test.cgi"> <input type="hidden" name="sendform" value=""> </form> <form method="POST" action="" name="form01"> <input type="text" name="userinput"> <input type="submit" value"送信" onclick="return onSubmit();"> </form> </body> </html>

  • submit後のフォームデータの書き換えで注意する点はありますか?

    以下のようなJavascriptでサブミットを行った後に、フォームデータを戻すことは、普通やっても構わないのでしょうか? // フォームデータのバックアップを取る var backup = document.test_form.NAMAE.value; document.test_form.action = "test.cgi"; // フォームデータの書き換え document.test_form.NAMAE = "admin"; document.test_form.submit(); // フォームデータを戻す document.test_form.NAMAE.value = backup;