![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
以下のようなフォームをつくっているのですが、どうもキャンセルを押すと登録されてしまいます。ごうしたらよいでしょうか?
<form id='next' name='next' method='post' action='XXX.php'>
<INPUT name='next' type='submit' id='next' value='登録する'>
<INPUT type='button' value=' 戻る ' onClick='history.back()'>
<INPUT name='cancel' type='submit' value='キャンセル' onClick='index.html'>
No.3ベストアンサー
- 回答日時:
「PHP内で記述」がイマイチ理解できませんし、そうしているからformが正常に機能しないと言う理屈も良く理解できませんが、他の方法なら
<form id='next' name='next' method='post' action='XXX.php'>
<INPUT name='next' type='submit' id='next' value='登録する'>
<INPUT type='button' value=' 戻る ' onClick='history.back()'>
<a href='index.html'>キャンセル</a>
</form>
<form id='next' name='next' method='post' action='XXX.php'>
<INPUT name='next' type='submit' id='next' value='登録する'>
<INPUT type='button' value=' 戻る ' onClick='history.back()'>
<span onclick='window.location="index.html"'>キャンセル</span>
</form>
単純にキャンセルをクリックするとindex.htmlに飛びます。
PHPは良く解りませんが、サーバーサイドスクリプトって最終的にはユーザーエージェントにHTMLを渡しているんじゃないんですか?
この回答への補足
ご返答ありがとうございます。参考にさせていただきます。
>PHP内で記述
とは『 <?PHP ~ ?> 』内に記述するという意味です。PHPのスクリプト内に表記すると、言ったほうが正確なのかもしれません。わかりずらくて、すいませんでした。
>PHPは良く解りませんが、サーバーサイドスクリプトって最終的にはユーザーエージェントにHTMLを渡しているんじゃないんですか?
一応、そういうことになるわけですが、PHPのスクリプト内に記述することで、「"」が使えなくなったり、通常のHTML表記のままだと、何かと問題が発生し、通常通り動作しないことがあります。
No.2
- 回答日時:
<form id='next' name='next' method='post' action='XXX.php' onreset='window.location="index.html"'>
<INPUT name='next' type='submit' id='next' value='登録する'>
<INPUT type='button' value=' 戻る ' onClick='history.back()'>
<INPUT name='cancel' type='reset' value='キャンセル'>
</form>
こうしたら良いと思います。
余分なことですがidやnameに同じ名前を使うと何かとトラブルの元ですよ。
No.1
- 回答日時:
まずサーバーにデータを送る必要がないならsubmitする
必要はないでしょう。submitをやめてbuttonで処理してください。
それとonClickでファイル名を書かれても普通に文法違反ですね。
location.hrefを書き換えてください。
<INPUT name='cancel' type='submit' value='キャンセル' onClick='index.html'>
↓
<INPUT name='cancel' type='button' value='キャンセル' onClick='location.href="index.html"'>
submitで処理したいなら、一度XXX.phpでデータを受け取り
$_POST["cancel"]の値を見てindex.htmlにとばすという
手が妥当かと思います
この回答への補足
ご回答ありがとうございます。しかし、どうもうまくいきませんね…
PHP内で記述しているためかもしれませんが…
その他、方法あるでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数列を持ったリストボックス...
-
<SELECT>タグの折り返し
-
文字の横にプルダウンを表示さ...
-
セレクトボックスのselected属...
-
セレクトボックスを非表示にし...
-
テーブル内でドロップダウンメ...
-
セレクトボックスの「選択して...
-
セレクトメニューで2つの項目...
-
セレクトボックスの内容を中央寄せ
-
セレクトボックスの中を一部隠...
-
プルダウンリストの背景色の指定
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
16進の10進変換について
-
メモリをアドレスを直接指定し...
-
formで特定のinputを送信しない...
-
CGI(Perl)で、Net::FTPを使いたい
-
sendmailで複数アドレスに送信...
-
VB6で、長い時間かかる処理...
-
【至急!!!】python言語で本を見...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字の横にプルダウンを表示さ...
-
セレクトメニューで2つの項目...
-
<SELECT>タグの折り返し
-
テーブル内でドロップダウンメ...
-
セレクトボックスのselected属...
-
複数列を持ったリストボックス...
-
セレクトボックスの「選択して...
-
セレクトボックスの内容を中央寄せ
-
セレクトボックスから別窓にジ...
-
プルダウンメニューで中央表示
-
select や option のCSS設定
-
プルダウンリストの背景色の指定
-
セレクトボックスである項目を...
-
同じものを繰り返し表示させる
-
selectタグ内の特定のoptionの...
-
【プルダウンで選んでGOボタン...
-
html、youtube動画を埋め込みた...
-
プルダウンメニューのターゲッ...
-
formのoptionでEnter(Return)す...
-
optionのselectedは更新時は効...
おすすめ情報