javascript で送信機能を使用してフォームを送信しようとしています。送信ボタンを使用しない理由は、本当にフォームを送信するかどうかをユーザーに尋ねたいからです。コードは次のとおりです。
<?php
if(isset($_POST['submit1']))
die("Submit successfull!");
?>
<!--Javascript submit question.-->
<script type="text/javascript">
function question_submit() {
if(confirm('Are you sure you want to submit?')) {
return true;
}
else {
alert('You have not submitted this form');
return false;
}
}
</script>
<!--The form-->
<form action='test.php' method='POST'>
<input type='button' name='submit1' value='Submit' onClick="if(question_submit()) { this.form.submit(); }" />
</form>
結果: ポップアップはうまく機能します。フォームを送信したくないだけなので、「送信に成功しました!」と表示されます。決して現れません。
ページに実際の送信ボタンを追加しても、メッセージは表示されません。POSTデータが機能しないようです。しかし、送信ボタンにPHPコードとダイ関数を追加すると、機能し、「REal Submit Works」が表示されます。これは、ボタンコードが最初であるため、奇妙です。
<?php
if(isset($submit1))
die("Submit successfull!");
if(isset($_POST['realsubmitbutton']))
die("REal Submit Works");
?>
また、onClick を変更して、javascript 送信機能だけを含めるようにしました。このように: onClick="this.form.submit();". しかし、それもうまくいきません。私の質問は、コードの何が問題なのか、なぜ機能しないのかということです。
ボタンは POST で値を送信できませんか?