在ajax结果为假后提交表单时出现问题
问题描述:
我使用ajax检查用户名是否已注册,在这种情况下,我不想在ajax结果为false时提交表单(即,如果用户名存在)。在ajax结果为假后提交表单时出现问题
$(document).ready(function(){
$('#name').change(function(){
var name = $('#name').val();
if(name != '')
{
$.ajax({
url:"<?php echo site_url().'/login_controller/check_name_avalibility' ?>",
method:"POST",
data:{name:name},
success:function(data){
$('#name_result').html(data);
}
});
}
}); });
答
返回true或false从你的PHP脚本:
$result = mysqli_query("SELECT * FROM users WHERE username = $username", $conn);
if($founduser = $mysqli_fetch_assoc($result)){
echo 1;
}else{
echo 0;
}
注:此脚本是开放的SQL注入攻击。改为使用prepared statements。
你的前端阿贾克斯会是什么样子:
$('#name').change(function(){
var name = $('#name').val();
if(name != '')
{
$.ajax({
url:"<?php echo site_url().'/login_controller/check_name_avalibility' ?>",
method:"POST",
data:{name:name},
success:function(data){
if(data = 1){
// username found
$('#name_result').html(data);
}else{
// submit form
}
}
});
}
});
你可以从这里https://*.com/questions/8664486/javascript-code-to-stop-form-submission –
得到的概念需要完整的java脚本代码,这是很短的信息。我会建议使用JQuery Validator插件来处理验证。 –
实际上我正在从数据库中检查这个。 –