• ベストアンサー

submitについて

「 <input type=submit value="送信"> 」について。 ボタンの役割というのは分かりますが、submitの使い方がよく分かっていません。このボタンを押した時の処理というのはどこで行うものなのですか。サンプルソースなど、ボタンはsubmitが多く使われているようなのですが・・・。どのようなときに役立つのか教えてください。

  • burbe
  • お礼率35% (78/221)
  • HTML
  • 回答数4
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.4

<input>タグは<form>タグと</form>タグで囲った内側に書きますが、結果(どのボタンが押されたか、テキストに何が入力されたか、など)は<form>タグのactionに書かれたスクリプトに渡されます。 例えば <form method="post" action="cgiスクリプト"> <input name="okbutton" type=submit value="OK"> <input name="canbutton" type=submit value="CANCEL"> </form> と書くとボタンが2つ出て、どちらか一方を押すと、結果が<form>タグで指定した「cgiスクリプト」に渡されます。 「cgiスクリプト」は、typeがsubmitになっているボタンを押した時にだけ実行されます(submitタイプじゃないボタンを押しても実行されません) と言う訳で、submitタイプのボタンは「入力フォームに全部入力し終わったから、入力内容を処理してね」と言う、入力フォームにとって最も重要な意味を持つボタンになります。

burbe
質問者

お礼

ありがとうございました

その他の回答 (3)

noname#83116
noname#83116
回答No.3

訂正です。 >↑このように、target="" で指定します。 target="" は、action="" の間違いでした。 あと、補足ですが、submit は CGI の動作以外に、JavaScript で使われることもあります。そのときは、 <form onsubmit=""> などとして、onsubmit="" のところに処理を記述します。

burbe
質問者

お礼

大変参考になりました。 ありがとうございました。

burbe
質問者

補足

夜、遅くにこんばんは。 ご回答ありがとうございます。 submitはよく「OK」ボタンなどに使われていると思いますが、具体的にどのような時に使用するかが分かっていません。サンプルがあるようなサイトをご存知ではありませんか。

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.2

submitはサーバーに、formの入力内容を送信するときに利用します。 例えば <form action="hoge.cgi" method="post">     :     : <input type="submit"> </form> と書けば、submitを押したときに、<form>~</form>の間にある、inputされた情報をサーバーにPostします。

burbe
質問者

お礼

ありがとうございました

noname#83116
noname#83116
回答No.1

ふつう、 submit ボタンは、<form>タグの間で使います。 submit ボタンの処理は、<form>タグで指定します。 【例】<form action="○○.cgi"> ↑このように、target="" で指定します。

burbe
質問者

お礼

ありがとうございました

関連するQ&A

  • このsubmitがうまくいかないんです。

    echo '<button type="submit" name="bknk" value="back">先月</button>'; echo '<button type="submit" name="bknk" value="now">当月</button>'; echo '<button type="submit" name="bknk" value="next">次月</button><BR>'; 1つのフォームに、submitボタンを1つ設けて、 押したsubmitボタンによって、 処理を分けるというのが趣旨で、 この部分は、ボタンを配置している箇所です。 (1) この式で、どれか1個を押した時、 3つのsubmit全てがデータ送信されてしまい、 3つの処理が走ってしまいます。 1つの処理だけを行いたい。 (2) さらに、送信される値は value ではなく、 ボタンの表示名の漢字部分が送信されています。 そのままボタンを押すと、漢字が送信され、以降の処理でエラーになります。 漢字部分を、value の値にすると(1)の様に動作します。 フォーム内にsubmitが複数存在してはいけないのでしょうか。 私のHTML本には複数submitを設置した時に、 どのボタンが押されたか判別する為に name と value を使えば良いとされているのですが。 なにか、根本的なところに間違いなどありませんか? どなたかご指摘お願いします。

    • 締切済み
    • PHP
  • textとsubmitを関連付けたい

    <input type="text"> <input type="submit" value="戻る"> <input type="submit" value="進む"> ↑のようなレイアウトの場合、 テキストを入力しEnterキーを押した時、 戻るボタンではなく、進むボタンを押した事にしたいのですが、どのようにすれば良いのでしょうか? ご回答よろしくお願い致します。

    • ベストアンサー
    • HTML
  • 2つのボタンによるSubmitについて

    javascript初心者です。 <form name="sample01" action="aaa.html" method="POST" >  <input type="checkbox" name="chk[]" value="1">  <input type="checkbox" name="chk[]" value="2">  <input type="checkbox" name="chk[]" value="3"> </form> このチェックボックスの値を、submitで渡したいのですが、 AボタンとBボタンの2つ設けて、それぞれクリックすると別ファイルに遷移させたいのです。 Aボタンは、「sample01」のaction属性にあるaaa.html Bボタンは、bbb.html こういったことはできるのでしょうか?

  • submitについて

    <script type="text/javascript"> <!-- function go() { document.getElementsByTagName("input")[3].value+="text"; } //--> </script> <form name="NAME1" action="#" method="get" onSubmit="go()"> <input type="submit" name="submit1" value="送信1" > <input type="submit" name="submit2" value="送信2"> <input type="button" name="submit3" value="送信3" onClick="go()"> <input type="text" name="text1" size="10"> </form> なのですが、送信2のsubmitを4回クリックすると以下のように表示されるのですが、どういう感じで実行されているのかわかりませんので教えていただけないでしょうか? 一応一回目はtext1=textとなるのですがテキストボックスには空になります。 2回目はtext1=textとなりテキストボックスにはtextが入ります。 3回目はtext1=texttextとなりテキストボックスには空になります。 4回目はtext1=textとなりテキストボックスは空になります。 以上よろしくお願いします。

  • javascript内からのsubmit

    PHP初心者です。 javascript内でsubmitを行い、値をPHP内で受け取る想定ですが、うまく作動しません。 具体的には下記のソースで、// Aの処理に入ってきて欲しいのですが、//B に入ってきます。 初歩的なことのなのかもしれませんが、どこが間違っているのか分からずはまっています。 ご教授ください。 ソースは以下です。 ■JavaScriptとForm(admLogin.html) <script type="text/javascript" src="js/jquery-1.9.0.min.js"></script> <script type="text/javascript"> function fncLogin(){ $("#frmAdmLogin").submit(); } </script> <body> <form id="frmAdmLogin" action="admLogin.php" method="post"> <input type="text" id="txtAdmId" /> <input type="text" id="txtAdmPass" /> <input type="button" name="btnLogin" value="ログイン" onclick="fncLogin()"/> </form> </body> ■PHP(admLogin.php) <?php if(isset($_POST['btnLogin'])) { // A }else{ // B } ?> ログインボタン押下 ↓ fncLogin内からフォームをsubmit ↓ // A の処理に入ってくる想定なのですが、//B の処理が実行される。 ちなみに、ボタンのinput typeをsubmitにすれば//A の処理に入ってくるのですが、 javascript内からsubmitしたいため、困っています。 どこを間違えているのでしょうか。。

    • 締切済み
    • PHP
  • 「type=submit」をボタンにしない

    早速お世話になります。 標題のように、 <input type=submit value="処理">とやった場合、 「処理」と表示されたボタンになりますが、 これをボタンの形にせず、文字のママにしたいのですが。 方法はありますでしょうか。 宜しくお願いします。

    • ベストアンサー
    • Perl
  • vb2005のWebbrowserコントロールで複数のSubmitボタンがある場合

    Webbrowserコントロールに読み込んだwebページ上に 複数のSUBMITボタンがある場合、name属性で押すボタンを選択し 実行する方法を教えてください。 -------------------------------------------------------------- 【htmlのソース】 <INPUT type=submit value=アップロード name=select> <INPUT type=submit value=次へ > -------------------------------------------------------------- 同一フォーム上に二つのボタンがある。 【vb2005のソース】 -------------------------------------------------------------- WebBrowser1.Document.Forms(0).InvokeMember("submit") -------------------------------------------------------------- を実行すると、 「<INPUT type=submit value=次へ >」のボタンの方は実行できるのですが、 「<INPUT type=submit value=画像のアップロード name=select>」の方は実行されません。 よく分からないなりに、 -------------------------------------------------------------- WebBrowser1.Document.All.GetElementsByName("select")(0).InvokeMember("submit") -------------------------------------------------------------- 等と書いてみましたが、反応ナシです。 ご教授、お願いいたします。

  • 2つのsubmitボタンがあるときに

    最初に書いたボタンが優先され 単にリターンキーを押したときに 最初のsubmitボタンが反応します。 後のsubmitボタンが反応するようにするにはどうしたらいいのでしょうか? つまり下記のPHPをブラウザに表示させているときにリターンキーを押したときには submit2 is pushed. と表示させるにはどうしたらいいのでしょうか? <form method="post" action="<?=$PHP_SELF?>"> <input type="text"/><br/> <input type="checkbox"/><br/> <input type="radio" name="radio"/><br/> <input type="submit" name="submit" value="submit1" tabindex=-1/><br/> <input type="submit" name="submit" value="submit2" tabindex=1/><br/> </form> <?php if(isset($_POST['submit'])) { echo$_POST['submit'].' is pushed.'; } ?>

    • ベストアンサー
    • PHP
  • submit()の動作について。

    <style type="text/css"> .p1{display=none;} </style> <script language="JavaScript"> function BtnNone(){ document.btn1.style.display = "none"; document.msg1.style.display = "inline"; document.frm1.submit(); } </script> </head> <form name="frm1" method="post" action="send.cgi"> <div id="btn1"> <input type="text" name="a"> <input type="submit" name="submit" value="SEND" onClick="BtnNone()"> <input type="submit" name="submit" value="BACK"> </div> <p class="p1" id="msg1">送信中</p> </form> ------------------------- 主旨が変わったので新しく質問します。 こういうソースで"SEND"をクリックするとボタンが消えて「送信中」のメッセージが表れるのですが、secd.cgiがsubmitされません。 どこが間違っているのでしょうか。 よろしくお願いいたします。

  • submitではなくbuttonで送信

    事情があり、submitではなくbuttonでフォームのデータを送信したいのですが、以下のように書くとbuttonでは4567が送信されません。 <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="submit" name="bbb" value="4567"> </form> ↓ <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="button" name="bbb" value="4567" onclick="submit();" > </form> submitと同じように、bbbのデータ4567も送信するにはどのように書けばよいのでしょうか? 宜しくお願いします。

専門家に質問してみよう