• 締切済み

javascriptでCGIを実行するには

htmlタグ <form method="post" action="・・・/cgi-bin/gogo.cgi"> <input type="text" name="name" size="20" value=""> <input type="submit" value="送信"> 上記で送信ボタンを押すとcgi側でnameを受け取れますが、 以下の場合はcgiは動作するのですが、nameを受け取れません、 受け取れる方法を教えてください。 <script type="text/javascript" language="javascript"> <!-- function gogo(){ document.write('<img src="・・・/cgi-bin/gogo.cgi">'); } // --> </script> </head> <body> <form method="post" action="javascript:gogo()"> <input type="text" name="name" size="20" value=""> <input type="submit" value="送信"> </form>

みんなの回答

  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.3

formの方のmethodはpostでしょ imgとかのurlにパラメータつけmethodはget ページの遷移なしでやりたいんだろうけどそれなら素直にAjax使うか CGI側でgetを受け取れるようにしてform.submit()しなさい

回答No.2

#1です。勘違いしていました。 <form method="post" action="javascript:gogo()"> ではなく、 <form method="post" action="xxxxx" onsubmit="return gogo();"> -- function gogo (){ var img = document.createElement ('img'); img.src = "/cgi-bin/gogo.cgi?name=123"; img.alt = ""; document.body.appendChild (img); return false; } のようにして、受け取る側が method="get" で受けとるようにとか? アクセス解析でもするの?

7777777v
質問者

補足

回答ありがとうございます。 <form method="post" action="xxxxx" onsubmit="return gogo();"> gogo (){ var img = document.createElement ('img'); img.src = "/cgi-bin/gogo.cgi?name=123"; img.alt = ""; document.body.appendChild (img); return false; } で実験しましたが、cgiが動作しませんでした。 <form method="post" action="/cgi-bin/gogo.cgi" onSubmit="gogo();"> function gogo() { window.close(); window.open(); ・・・ この場合window.close();のみでwindow.open();がない場合はcgiでパラメータを受け取れました。 後一歩といったところですが、よろしくお願いします。 cgiでは入力された氏名とその時刻をリストアップしてメールで送信する処理です。 javaでは氏名入力した画面削除と新しいページを開く処理をします。

回答No.1

<form onsubmit="ここにいろいろ"