我有以下 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();
}
我还有一个 PHP 脚本,它在提交时从输入中接收 $_POST 值,并运行一个条件来测试单击了哪个提交按钮。
像这样:
$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() ,则输出不会附加到 textarea 而是附加到单独页面上的文本格式,例如文档。我也试过在按钮上调用提交函数,$('button[type=submit]').bind('submit', submitForm);
但这也不能解决我的问题。
提前感谢您的帮助。