アプリ版:「スタンプのみでお礼する」機能のリリースについて

  
以下のような画面を作りたいのですが↓

--------------------------------------------------------------------------------
● a.php (ユーザ情報入力画面) ※フォームに入力する画面
 
 <FORM method="POST" action="b.php">
  <INPUT type="text" name="mail">
  <INPUT type="submit" name="submit" value="確認">
 </FORM>

● b.php (ユーザ情報入力確認画面)※フォームに入力された値を表示する画面

 <FORM method="POST" action="c.php">
  <!-- ここには、フォームに入力された値を表示する -->
  <INPUT type="submit" name="submit" value="登録"> // c.php に遷移する
  <INPUT type="submit" name="submit" value="戻る"> // a.php に戻る
 </FORM>

● c.php (完了画面)
--------------------------------------------------------------------------------
b.php について質問なのですが、
b.phpにおいて、登録ボタンと戻るボタンを2つつけて、
それぞれ遷移先を変えたいのですが、どうすればいいんでしょうか・・・?
<FORM method="POST" action="c.php">と書いてしまうと、
戻るボタンを押しても戻らずに、c.phpに遷移してしまいますよね??
こういう場合ってJavaScriptとかで遷移先を指定するんですか・・?
もしそうでしたら、JavaScriptがよくわからないので
できればサンプルコード示していただけると助かります・・・。
  

A 回答 (5件)

はじめまして。



<INPUT type="submit" name="submit" value="登録" onClick="form.action='c.php';return true">
<INPUT type="submit" name="submit" value="戻る" onClick="form.action='a.php';return true">

でいいと思います。(実際、このコードで使っています)
値を渡すには、FORM内にhiddenで、値を設定しておいて、methodをPOSTに設定しておけば、渡せます。
    • good
    • 9

あ、補足を見ていませんでした。

失礼。

FORMを2書きたくないなら、GETでしか渡せませんが、以下のように書けばいいかと。
#本当はPOSTで渡した方が良いんですが。

<FORM method="POST" action="c.php">
<INPUT type="submit" name="submit" value="登録">
<INPUT type="button" value="戻る" onclick="javascript:location.href='a.php?引数名=値';">
</FORM>

で動くと思いますが。
動かない場合はスペルミスとか、若干文法が間違っているとかですので、調べて試行錯誤してみてください。
その試行錯誤が次につながります。
    • good
    • 3

Javascriptを使っても良い訳ですよね?


ならば、以下のようにすれば良いと思います。

<FORM method="POST" action="c.php">
<INPUT type="submit" name="submit" value="登録">
<INPUT type="button" value="戻る" onclick="javascript:document.forms[1].submit();">
</FORM>
<FORM method="POST" action="a.php">
</FORM>

こんな感じです。
document.forms[1]
の部分というのは2番目のFORM要素を示します。
配列なので、要素数より1小さい数字が[]の間に張ります。
または、
document.forms["back"]
などと名前を指定できます。
その場合は、2番目のFORM要素にname属性を追加します。
<FORM method="POST" name="back" action="a.php">
って感じです。
    • good
    • 0

あらら、戻るときに値を渡すのですか・・


ということはもう一度a.phpを呼べばいいのですよね?

<FORM method="POST" action="c.php">
<INPUT type="submit" name="submit" value="登録">
</FORM>
<FORM method="POST" action="a.php">
<INPUT TYPE=HIDDEN NAME=なんちゃら VALUE=かんちゃら>
<INPUT type="submit" value="戻る">
</FORM>

では?他に何かやらなければダメなことがあるのなら、補足いただければなんとか。

この回答への補足

度々すみません・・・

FORMを2回書く方法はなるべく避けたいと思うのですが
他に何か方法はないでしょうか・・・?
  

補足日時:2004/05/23 18:40
    • good
    • 0

<FORM method="POST" action="c.php">


<INPUT type="submit" name="submit" value="登録">
</FORM>
<FORM>
<INPUT type="button" value="戻る" onclick="history.back()">
</FORM>

とFORMを分ければうまくいくと思いますど?

この回答への補足

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

POST送信か、GET送信で、ある値を前ページに渡したいんです。単純に前ページに戻るだけではなく
hiddenでも何でもいいんですが、値を渡す必要があるので
history.back()では無理そうなんです・・・
  

補足日時:2004/05/23 18:21
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A