- 締切済み
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>
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- b0a0a
- ベストアンサー率49% (156/313)
formの方のmethodはpostでしょ imgとかのurlにパラメータつけmethodはget ページの遷移なしでやりたいんだろうけどそれなら素直にAjax使うか CGI側でgetを受け取れるようにしてform.submit()しなさい
- babu_baboo
- ベストアンサー率51% (268/525)
#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" で受けとるようにとか? アクセス解析でもするの?
- babu_baboo
- ベストアンサー率51% (268/525)
<form onsubmit="ここにいろいろ"
補足
回答ありがとうございます。 <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では氏名入力した画面削除と新しいページを開く処理をします。