【发布时间】:2015-05-09 15:04:38
【问题描述】:
我有登录表单,其中有两个按钮 - “登录”和“忘记密码?”我需要检查用户点击了什么按钮。
<form id="loginForm">
<div class="login-error" id="login-error"></div>
<input type="text" id="email" name="email">
<input type="password" id="password" name="password">
<input type="submit" name="submit" value="Login">
<button type="submit" name="submit" value="Forgot password?">Forgot password?</button>
</form>
var_dump($_POST) 说:
array(2) { ["email"]=> string(0) "" ["password"]=> string(0) "" }
我正在尝试两种方式(输入类型=提交和按钮类型=提交),但它们都没有发送“提交”值。
(我正在使用 jquery ajax)
$("#loginForm").click(function(){
/* Stop form from submitting normally */
event.preventDefault();
/* Get some values from elements on the page: */
var values = $(this).serialize();
/* Send the data using post and put the results in a div */
$.ajax({
url: "login.php", /* here is echo var_dump($_POST); */
type: "post",
data: values,
success: function(data){
$("#login-error").html(data);
},
error:function(){
$("#result").html('There is error while submit');
}
});
});
请问您知道问题出在哪里吗?我知道,有很多关于按钮价值的线索,但对我没有任何作用。我也试过这个例子: http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_button_value2
【问题讨论】:
-
value 属性将在您的网页上显示按钮的名称?不是吗?它不像其他字段那样被视为值。但你可以做到
-
不,在按钮上,value 属性以传统方式使用,如用于传递值。这是因为按钮以传统方式使用
-
以防万一您还没有阅读此内容..stackoverflow.com/questions/4007942/…
-
当心,设置
name="submit"你正在覆盖默认的 DOMsubmit()方法。就是说,我很确定这个问题是一个骗子:stackoverflow.com/questions/4007942/… BTW,似乎与使用 FORM 的submit事件更相关,而不是点击事件。如果点击例如email,你真的想向服务器发送数据吗??? -
@JackDavis 实际上,您可以这样处理:jsfiddle.net/26gdp7en 但是恕我直言,您最好针对请求登录或“忘记密码”@987654325 定位不同的服务器脚本@
标签: javascript php jquery html ajax