在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); 
       } 
      }); 
     } 
    }); }); 
+0

你可以从这里https://*.com/questions/8664486/javascript-code-to-stop-form-submission –

+0

得到的概念需要完整的java脚本代码,这是很短的信息。我会建议使用JQuery Validator插件来处理验证。 –

+0

实际上我正在从数据库中检查这个。 –

返回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 
         } 
       } 
      }); 
     } 
    });