我有jquery-ui对话框有一些输入字段用于更新用户信息
每当用户键入其中一个字段(使用keyup()
)时,输入的值将被发送到数据库以检查数据库中是否存在该名称的天气。 不幸的是,它总是返回数据库中没有这样的名称(即使它确实存在)。
注意:"更新用户信息的形式"包含在index.php
(主页)中。我尝试使用该表单作为主页面创建一个新项目,并且它正常工作。因此,我认为在主页中包含表单页面存在问题。是吗?!!
包含在主页中的表单:
<div id="container">
<form action="" class="fixed-dialog" id="customForm" dir="ltr">
<table>
<tr>
<td id="label-td"><label for="name">firstName</label></td>
<td id="input-td">
<input type="text" class="form-group" id="firstName" name="name" />
</td>
<td id="span-td">
<span id="firstNameInfo">first Name</span>
</td>
</tr>
</table>
<div>
<input type="button" name="send" id="send" value="Update">
</div>
</form>
</div>
Javascript文件:,包括jquery-ui对话框并验证输入字段:
var form = $("#customForm");
var name = $("#firstName");
var nameInfo = $("#firstNameInfo");
var state = false;
name.keyup(validateName);
function validateName(){
if(name.val().length < 2){
name.removeClass("valid");
nameInfo.removeClass("valid");
name.addClass("error");
nameInfo.addClass("error");
nameInfo.text("More than Two Letters!!");
state = false;
}else{
if(name.val().length >= 2){
var username = name.val();
//here, getting validate.php page, which takes the value of the input and check it with DB
$.post('includes/validate.php',{names:username}, function(data){
if(data != 0){
//if there is a match with DB.
name.removeClass("valid");
nameInfo.removeClass("valid");
name.addClass("error");
nameInfo.addClass("error");
nameInfo.text("it's already there..");
state = false;
}else{
//if there is no match with DB.
name.removeClass("error");
nameInfo.removeClass("error");
name.addClass("valid");
nameInfo.addClass("valid");
nameInfo.text("Accepted!!");
state = true;
}
});
}
}
return state;
}
最后一个文件是 validate.php ,它将检查数据库中的输入值:
include "includes/config.php";
include "./functions.php";
$name = &$_POST['names'];
if($name != ""){
arabicQuerySetUp();
$query_search_name = "SELECT * FROM users WHERE user_first_name = '{$name}' ";
$query_search_name_result = mysqli_query($dbc, $query_search_name);
$count_names = mysqli_num_rows($query_search_name_result);
if($count_names != 0){
echo 1;
}else{
echo 0;
}
}
正如我上面提到的,我试图在新项目中创建它,而不是将它包含在主页面中;它工作得很好。
我尝试了太多,无法找到错误在我的代码中的位置,但我无法做到。所以我来这里寻求任何帮助。
提前致谢。