• 締切済み

お問い合わせフォーム。確認画面でつまずいてます。

phpでフォームを作成しています。フォーム確認画面で思うように動作しません。 確認画面の「修正する」ボタンを「input type="submit"」から「input type="image"」に変更し、画像ボタンとしたいです。 ソースを下記のように書き換えると、前画面に戻らず、そのまま送信してしまいます。 <input type="hidden" name="status" value="send">'."\n".'<input type="submit" value="送信する"> <input type="submit" name="edit" value="修正するぞおお"> ↓ <input type="hidden" name="status" value="send">'."\n".'<input type="image" name="send" src="../images/send_btn.gif" value="送信する"> <input type="image" name="edit" src="../images/reset_btn.gif" value="修正するぞおお'"> 「修正する」ボタンを画像に変更するには、他に追記する必要があるのでしょうか? 正しい動作は、「修正する」ボタンを押すと、入力項目を残した状態のフォームへ戻ります。 その動作もphpのどこに記載されているのか、今いち分かっておりません・・・。 「魔法のメールフォーム MagicalForm」http://magical-form.com/ を利用しています。 初心者で申し訳ないのですが、どうぞよろしくお願いいたします。

  • PHP
  • 回答数2
  • ありがとう数0

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

print <<<eod <form> <input type="submit" name="edit" value="修正するぞおお" style="display:none"> <input type="hidden" name="status" value="send"> <input type="image" name="send" src="・・・" value="送信する"> <img src="・・・" alt="修正するぞおお" onclick="this.parentNode.elements['edit'].click()"> </form> eod; みたいにヒアドキュメントで処理すればエスケープの問題は回避できます 場合によっては print '<img src="・・・" alt="修正するぞおお" onclick="this.parentNode.elements[\'edit\'].click()">'; みたいにきちんと処理してもよいでしょう

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

おそらくeditの値をみて場合わけをしているのでしょうね やりかたは2つ考えられます (1)edit.xが送られてきたら修正だと判断する (2)javascriptで処理する <form> <input type="submit" name="edit" value="修正するぞおお" style="display:none"> <input type="hidden" name="status" value="send"> <input type="image" name="send" src="・・・" value="送信する"> <img src="・・・" alt="修正するぞおお" onclick="this.parentNode.elements['edit'].click()"> </form>

st_283
質問者

補足

ありがとうございます! (1)の方法が正しい方法だとは思うのですが、phpで追記の仕方が分からないため、(2)で試しています。 ですが、フォーム自体がphp作成されており、onclick="this.parentNode.elements['edit'].click()" を呼び出そうとしたら Parse error: syntax error, unexpected T_STRING in ○○.php on line 133 のエラーが出てしまいます。 シングルクォーテーション、ダブルクォーテーションがの問題かな?と思いましたが上手く動きませんでした。 ご教授いただけると助かります。どうぞよろしくお願いいたします。

関連するQ&A

  • メールフォームでの送信確認から修正ボタンで戻る方法

    現在、メールフォームを作っています。 とりあえず完成し、動作は全く問題ありません。 ただ、「送信ボタン」と確認画面からの「修正する」ボタンを画像にしています。 「修正する」ボタンを画像にするとなぜか送信が完了してしまいます。 下記は「修正する」ボタンのソースです。 <input type="image" name="check0" value="修正する" src="images/form_btn_back.jpg" width="100" height="35" alt="修正する"> 念のため「送信ボタン」のソースも書いておきます。 <input name="submit" type="image" value="この内容で送信する" src="images/form_btn_send.jpg" alt="この内容で送信する"> 「修正する」ボタンのtypeをsubmitにすると前の入力画面に戻ります。 原因がわからないので詳しい方、ご教授をお願いいたします。

  • name属性のあるフォームボタンを画像化について

    name属性のあるフォームボタンを画像化について どのように質問したらよいのか分からず、説明が足りないようでしたらばご了承ください。 以下のフォームボタンがあるのですが、これらを画像にしたいと思っています。 <input type="submit" value="送信" /> <input type="submit" name="retry" value="訂正" /> 送信ボタンは以下のように画像にしました。 <input type="image" src="./img/send.gif" value="送信"> しかし訂正ボタンを同じようにしたところ、訂正ボタンを押しても送信ボタンと同じアクションになってしまいます。 <input type="image" src="./img/retry.gif" name="retry" value="訂正"> デフォルトの訂正ボタンにはname="retry"と書いてあるのですが、 このようなボタンを画像にする場合、どのようにすればよろしのでしょうか? アドバイスよろしくお願いします。

    • ベストアンサー
    • HTML
  • フォームタグについて

    二つのフォームタグを一つのボタンで送信したいのですが、可能でしょうか? <form action="http://aaa/" method="post"> <input type="hidden" name="comment" value="テキスト "/> <input type="hidden" name="mode" value="com_w" /> <input type="hidden" name="no" value="1" /> <input type="submit" value="登録" /></form> <form action="http://bbb/" method="post"> <input type="hidden" name="comment" value="テキスト "/> <input type="hidden" name="mode" value="com_w" /> <input type="hidden" name="no" value="2" /> <input type="submit" value="登録" /></form> 同じデータをもっているフォームですが、送信するページが別々になっています。 この二つのフォームを一つの送信ボタンで送信できますでしょうか? 色々と調べましたがわかりません。 よろしくお願いいたします。

  • フォーム内にある複数のボタンをアンカータグで代替する場合、これらのボタンの識別情報をサーバに引き渡す方法を教えて下さい。

    php,javascriptの初心者です。 フォーム内にある複数のボタンをアンカータグで代替する場合、これらのボタンの識別情報をサーバに引き渡す方法を教えて下さい。 〔質問の内容〕 以下のフォームにある2つのボタン(文字)を画像ボタン (例えば、(1)、(2))に変えようとしたのですが、 <form action="aaa.php" method="post" name="myform">  ・  ・  ・ <input type="submit" name="btn1" value="修正"> <input type="submit" name="btn2" value="送信">  ・  ・  ・ </form>  (1) <input type="image" src="syuusei.gif" name="btn1" alt="修正">  (2) <input type="image" src="soushin.gif" name="btn2" alt="送信"> 次の情報によると、 http://okwave.jp/qa2838479.html http://forums.devshed.com/html-programming-1/input-type-image-onclick-doesn-t-work-in-netscape-1299.html http://miau.s9.xrea.com/blog/rsd.php?catid=3 2006年 7月 08日 (土曜日)Netscape 4.x の対応とか http://forums.devshed.com/html-programming-1/input-type-image-onclick-doesn-t-work-in-netscape-1299.html 多くのブラウザで安定な動作を確保するためには、 「アンカータグでこれらのボタンを代替する」ことが もっとも望ましいようです。 そこで、このようなアンカータグを用いる場合について、 以下の点を教えて下さるようにお願い致します。 上記ボタンの識別情報name(btn1やbtn2)は、 どのようにしてサーバに通知したらよいのでしょうか?。 以上、よろしくお願い致します。

  • 【フォーム】PHPで確認画面をだした後にボタンを

    ほぼ初心者のものです 下記のようなフォームをつくりました <form action="regist.php" method="post"> <input type="radio" name="08241" value="A11"/> <input type="radio" name="08241" value="B11"/> <input type="radio" name="08241" value="C11"/> <input type="radio" name="08241" value="D11"/> <input type="radio" name="08241" value="E11"/> <input type="radio" name="08241" value="F11"/> <input type="submit" value="登録する" /> そしてこれらを確認するためにregist.phpを作成し <table width="250" border="1"> <tr> <td width="250">選択したもの</td> </tr> <tr> <td><?php echo $_POST["08241"] ?></td> </tr> <tr> <td>●●●</td> と記載し、選んだものを表示できるようにしました ここからが皆様にお力を借りたいところなのですが フォームから「A11」が選択されて確認画面に「A11」と表示されたとき ●●●のところに下記のような情報を含んだボタンを表示させたいんです <form name="a11" action="/products/detail.php" method="post" > <input type="hidden" name="mode" value="cart" /> <input type="hidden" name="product_id" value="137" /> <input type="hidden" name="product_class_id" value="634" /> <input type="hidden" name="quantity" value="1" /><br /> <input type="submit" value="決定する" onClick="alert('選択しました')" /> </form> このボタン情報はA11~F11まであって、product_idやproduct_class_idは それぞれ異なっています どこかに一覧を作成しておいて form nameで一致したものを表示させるといった やり方なのかなとは思うのですが、その方法がわかりません PHPを使えばいいのかJavascriptがよいのかもあわせ、記述方法などをご教授いただけませんでしょうか? どうかよろしくお願いいたします

    • 締切済み
    • PHP
  • ボタン別でフォームの送信先を変えたい

    同じ場所に3つある今のフォームを1つにまとめたいのですが、 「ラジオボタン」でやるのではなく「submitボタン」によって送信先の振り分けはできないのでしょうか? CGIなどを使って一旦クッションを置くのは問題ないです。何か参考になるサイトさんとかありましたら教えてください。 <form action="1.php" method="get" class="form" target="a" name="1"> <input type="hidden" name="s" value=90 /> <input type="hidden" name="t" value="e" /> <input type="text" name="moji" value="" size="8" /> <input type="submit" name="button" value="検索" /> </form> <form action="http://e.php" method="get" name="2" target="a"> <input type="hidden" name="test" value=et /> <input type="text" name="77" value="" size="8" /> <input type="submit" value="検索2" class="button" /> </form> <form action="http://8.cgi" method="get" target="a"> <input type="text" size="8" name="q" value="" /> <input type="submit" value="検索3" class="button" /> <input type="hidden" name="sut" value="JJ" /> </form>

    • ベストアンサー
    • CGI
  • フォームのレイアウト

    以下のようなフォームを作成しましたが、検索ボタンの下が妙に余っているのです。 これを上側と同じようにくっつけたいのですが、どうしたらよいでしょうか? よろしくお願いします。  <table border="1" width="200" border="0" cellspacing="0" cellpadding="2"> <tr><td> <div align="center" valign="middle"> <form method="get" action="url" target="_blank"> <input name="sitem" type="text" id="inputbox" size="20"><BR> <input name="Submit" type="submit" id="inputsubm" value="検索"> <input type="hidden" name="sv" value="6"> <input type="hidden" name="sid" value="12345"> <input type="hidden" name="su" value="bbb"> <input type="hidden" name="sn" value="aaa"> <input type="hidden" name="v" value="3"> </form></div> </td></tr></table>

    • ベストアンサー
    • HTML
  • フォームボタンをリンク風に表示

    <form action="mailto:"> <input type="hidden" name="subject" value="{subject}"> <input type="hidden" name="body" value="{body}"> <input type="submit" value="メール送信"> </form><br> メーラが立ち上がると、ディフォルトで件名と本文が入るようにしています。しかし、ブラウザー上でフォームの「ボタン」表示ではなく、「リンク」のような表示にしたいのですが何か方法はあるのでしょうか? <a href="mailto:"> これだと、ディフォルトでの表示ができなくなるし。

    • ベストアンサー
    • HTML
  • chromeでフォームの値が取得できない

    PHPでフォームに入力された値を取得して画面に表示させる処理において、 Javascriptでフォームの値を変更した場合、chromeだと変更後の値が 取得できません。 例えば、 <form name="form" method="post" action="index.php"> <input type="checkbox" name="chk1" value="111"> <input type="hidden" name="data1" value="AAA"> <input type="submit" value="送信"> </form> というようなフォームがあったとして、Javascriptで値を <form name="form" method="post" action="index.php"> <input type="checkbox" name="chk1" value="222"> <input type="hidden" name="data1" value="BBB"> <input type="submit" value="送信"> </form> と、変更しても送信ボタンを押して取得できる値は、上の方の値になります。 IEやFireFoxでは問題なく変更後の値が取得できるのですが、chromeだと 取得できません。 なにか解決方法があるのか、それともchromeの仕様なのかご教示いただければと 思います。 どうかよろしくお願いいたします。

  • hidden属性だけのフォーム

    hidden属性だけのフォームというのはちゃんと動作しますか? 自分のソースでは動作せず、送り先のPHPスクリプトでvar_dump()すると、$_POST['']の中身が NULL になってました。送信やリセットボタンを作らずに送信できるとすれば、どんな ソースになりますか? <?php echo '<form name="form1" method="POST" action="../../disp_access.php">'; echo '<input type="hidden" name="from" value="1">'; // どのページから飛んできたかを示す echo '<input type="hidden" name="browser" value="'.$referer.'">'; echo '<input type="hidden" name="ip" value="'.$ip.'">'; echo '</form>'; ?>

    • ベストアンサー
    • HTML

専門家に質問してみよう