【发布时间】:2016-09-26 23:44:58
【问题描述】:
当我使用jQuery Validation Plugin 中的remote method 并按下提交按钮时,$_POST 数组中未列出提交按钮名称。这是一个错误还是我做错了什么?
这是一个小例子:
<?php
if(!empty($_POST))print_r($_POST);
?>
<form method="POST" id='mainForm'>
<input type='email' name="email" value="test@test.com">
<button name="superbutton">Press me</button>
</form>
当我像这样添加 jQuery 验证插件时
$("#mainForm").validate({
rules: {
email: {
required: true,
email: true
}
}
});
我仍然得到相同的输出。但是,当我添加远程方法时:
$("#mainForm").validate({
rules: {
email: {
required: true,
email: true,
remote: {
url: "test.php"
}
}
}
});
与 test.php
<?php
header('Content-Type: application/json');
echo json_encode("true");
那么superbutton 不再在'$_POST` 数组中。
我在这里做错了吗?
【问题讨论】:
-
当使用 Javascript 而不是通过单击按钮的默认操作提交表单时,POST 数据中不包含按钮。
-
@Barmar 哦。我想我在第一句话中遗漏了一些东西:“当我添加远程方法然后按提交,然后......我会更新我的问题。
-
我意识到,我删除了我之前的评论。
-
那么当我使用remote方法时,表单是通过Javascript提交的,而当我不使用remote方法时,表单是正常提交的?
标签: php jquery html jquery-validate