使用PHP提交Jquery登录
我正在尝试用PHP添加Jquery登录提交。我能够在没有JQuery和登录的情况下绑定到LDAP-OK。但一旦我添加JQuery代码,它就会发送错误: ldap_bind()[function.ldap bind]:无法绑定到服务器:凭据无效 我做了很多搜索,仍然遗漏了一些东西,但不太确定是什么…:( 以下是我到目前为止的情况:使用PHP提交Jquery登录,php,jquery,ajax,forms,ldap,Php,Jquery,Ajax,Forms,Ldap,我正在尝试用PHP添加Jquery登录提交。我能够在没有JQuery和登录的情况下绑定到LDAP-OK。但一旦我添加JQuery代码,它就会发送错误: ldap_bind()[function.ldap bind]:无法绑定到服务器:凭据无效 我做了很多搜索,仍然遗漏了一些东西,但不太确定是什么…:( 以下是我到目前为止的情况: <script type"text/javascript"> var username = $("input#username").va
<script type"text/javascript">
var username = $("input#username").val();
var password = $("input#password").val();
var dataString = 'username='+ username + '&password=' + password;
$(document).ready(function(){
$("form#memberlogin").submit(function() {
$.ajax({
type: "POST",
url: "verification.php",
data: dataString,
success: function(data){
if(data.success) {
$('form#memberlogin').hide()
$('div.success').fadeIn();
}
else {
alert(data);
}
}
});
return false;
});
});
</script>
以下是表格:
<form id="memberlogin" method="POST">
<fieldset>
<legend>Please login:</legent>
<label for="username">Username:</label>
<input id="username" class="text_inputs" type="text" name="username" size="20" class="imputbox">
<label for="username">Password:</label>
<input name="password" class="text_input" type="password" name="password" size="20" class="imputbox">
<input type="submit" name="submit" value="access" />
</fieldset>
</form>
请登录:
用户名:
密码:
您的问题在HTML中:您的密码
字段有2个名称
属性,但没有id
,这就是为什么您发送的密码总是空的
我建议您重写代码以避免重复
$(document).ready(function() {
$("form#memberlogin").submit(function(e) {
// instead of creating data string by hand just .serialize your form
dataString = $(this).serialize();
$.post("verification.php", dataString, function(data) {
$('form#memberlogin').hide();
$('div.success').fadeIn();
});
e.preventDefault(); // this is better than "return false"
});
});
为什么
e.preventDefault();
比“return false”更好?谢谢您的快速响应!我做了更改。但是在这种情况下,只要我提交,无论我键入什么,它都会让我登录?.preventDefault()
明确说明处理程序中正在发生的事情,并且可以在处理程序中的任何地方使用,而return false
结束处理程序的执行。假设您的处理程序是一个共享函数formSubmit()
(类似于$('a')。单击(formSubmit);
)在别处定义-return false
不会清楚地指示正在发生的事情(为什么成功返回false
),而event.preventDefault()
清楚地显示“停止默认事件处理程序”
$(document).ready(function() {
$("form#memberlogin").submit(function(e) {
// instead of creating data string by hand just .serialize your form
dataString = $(this).serialize();
$.post("verification.php", dataString, function(data) {
$('form#memberlogin').hide();
$('div.success').fadeIn();
});
e.preventDefault(); // this is better than "return false"
});
});