WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:<input type="button">と<form>の関係について

0:[投稿] けい [2003/01/20 23:10 ][環境:win2000 UNIX]


下のようなHTMLから、test.cgi を呼び出しているのですが、
javascript のボタンから呼び出した際は、
<input type="hidden"> によるデータは渡されないのでしょうか?

言い換えれば、私の環境(IE6.0, windows2000)では
「javascriptのボタンからCGIを呼び出した場合、hidden値は渡されない」ようでした。
javascript を用いた <input type="button"> は、<form>とは全く無関係なのでしょうか?

間違っていたり注意すべき点、そのほか環境に依存するような可能性が
このスクリプトにありましたら、ご警告して頂きたく存じます。
どうぞよろしくお願いいたします。

#-----------
# form.html
#-----------

<form action="./test.cgi" method="get">
    <p>
        <input type="button" value="テスト1" onClick='location.href="./test.cgi?mode=test1"'>
        <input type="button" value="テスト2" onClick='location.href="./test.cgi?mode=test2"'>
    </p>    
    <p>
        <input type="hidden" name="mode" value="test">
        <input type="submit">
    </p>
</form>

#----------
# test.cgi
#----------

#!/usr/local/bin/perl

use CGI;
my $query = new CGI;
$mode = $query->param('mode');

if($mode eq 'test')
{
    print "Content-type: text/html\n\n";
    print "mode=test (hidden)<br>";
}
elsif($mode eq 'test1')
{
    print "Content-type: text/html\n\n";
    print "mode=test1<br>";
}
elsif($mode eq 'test2')
{
    print "Content-type: text/html\n\n";
    print "mode=test2<br>";
}
else
{
    print "Content-type: text/html\n\n";
    print "else<br>";
}


1:[回答] Malic [2003/01/21 09:49 ]

ボタンからinput要素等の内容を送信したい場合は
スクリプトでsubmit()関数を呼ばなければいけません。

document.[form名].submit(); 
なので、formに名前を付けて、submit関数を呼びましょう。


2:[完了] けい [2003/01/22 00:15 ]

なるほど、根本的な所を理解していませんでした。
javascript はあまり使いませんでしたが、
基本だけでも勉強しておこうと思います。

どうもありがとうございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World