私は次のHTMLコードを持っています:
<form method="post" action="the_file.php" id="the-form">
<input type="text" name="the_input" value="<?php if ( isset( $_POST['the_input'] ) echo $_POST['the_input]; ?>">
<button type="submit" name="eat_something" value="TRUE">Eating</button>
<button type="submit" name="eat_something" value="FALSE">Don't Eat</button>
</form>
<textarea id="result"></textarea>
このJSが続きます:
$('#the-form').bind('submit', submitForm);
function submitForm(evt) {
jQuery.post(
$(this).attr('action'),
$(this).serialize(),
function(data) {
$('#result').empty().append(data).slideDown();
});
evt.preventDefault();
}
また、送信時に入力から$ _POST値を受け取り、どの送信ボタンがクリックされたかをテストする条件を実行するPHPスクリプトもあります。
このような:
$input = $_POST['the_input'];
$eating = $_POST['eat_something'];
if ( $eating == 'TRUE' ) {
// Do some eating...
} else {
// Don't you dare...
}
jQuery.post()関数を使用しない場合、ボタンからの送信値が投稿されます。ただし、何らかの理由で、jQuery.post()関数を使用してボタンの値をPHP$_POSTに渡すことができません。jQuery.post()を使用しない場合、出力はテキストエリアに追加されず、ドキュメントのように別のページのテキスト形式で追加されます。ボタンの送信関数も呼び出してみました$('button[type=submit]').bind('submit', submitForm);
が、これでも問題は解決しません。
よろしくお願いします。