電子書籍の厳選無料作品が豊富!

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>

A 回答 (3件)

formの方のmethodはpostでしょ


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

#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" で受けとるようにとか?
アクセス解析でもするの?

この回答への補足

回答ありがとうございます。

<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では氏名入力した画面削除と新しいページを開く処理をします。

補足日時:2012/09/16 11:48
    • good
    • 0

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

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!