2016-12-15 95 views
1

當ajax被調用的數據沒有通過。 wen send函數被稱爲validat()在驗證後被分配給有效變量,返回值爲true,但是不調用ajax來通過POST進入php文件進行更新。php jquery ajax複選框驗證

<!DOCTYPE html> 
<html> 
<head> 
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" > 
    <link rel="stylesheet" type="text/css" href="css/style.css" > 
</head> 

<body> 
    <div class="container"> 
     <div id="res1"></div> 
     <div class="row"> 
      <input type="checkbox" name="language" id="language1" value="English" >English<br/> 
      <input type="checkbox" name="language" id="language2" value="French" >French<br/> 
      <input type="checkbox" name="language" id="language3" value="German" onclick="validate();">German<br/> 
     <input type="checkbox" name="language" id="language4" value="Latin" >Latin<br/> 
      <button type="button" onclick="send();" >Send</button> 
     </div> 
     <div id="res"></div> 
    </div> 
</body> 
</html> 

<script src="js/jquery-3.1.1.min.js"></script> 
<script src="js/bootstrap.min.js"></script> 

<script> 

function send(){ 
    var valid = validate(); 
    if(valid){ 
     $.ajax({ 
      type:'POST', 
      url:'process.php', 
      data:{fruit:fruit}, 
      success:function(msg){ 
        $("#res1").html(msg); 
      }, 
      error:'' 
     }); 
    } 
} 
function validate(){ 
    var valid = true; 

    var fruit = Array(); 
    $('input[name="language"]:checked').each(function(){ 
     fruit.push(this.value); 
    });   
    if((fruit == '')){ 
     $("#res1").html("Atleast one checkbox  requiered").css({'color':'red'}); 
     $("#dem-res").html("Required").css({'color':'red'}); 
     valid = false; 
    }else if(!(fruit == '')){ 
     $("#res1").html(""); 
     $("#dem-res").html(""); 
    } 
    return valid; 
} 

</script> 
+0

數據:{ '果':水果}和水果必須是任何變量名無功果= 「名稱」; –

回答

0

$.ajax({ 
     type:'POST', 
     url:'process.php', 
     data:{'fruit':fruit}, 
     success:function(msg){ 
       $("#res1").html(msg); 
     }, 
     error:'' 
    }); 

您對發送數據錯誤更換您的Ajax代碼。格式不正確。缺少引號。 取決於發送表單服務器的響應類型。它可以幫助更多。如果你只是echo服務器中的一些HTML代碼,我認爲這就足夠了。

+0

我想你錯過了dataType。 –

+0

你想從服務器返回什麼類型的數據。 –

+0

如果'json'使用'dataType:json'並在javascript中使用'JSON.parse()'。 –

0

您丟失變量:

var fruit_name = "orange"; 
$.ajax({ 
     type:'POST', 
     url:'process.php', 
     data:{"fruit" : fruit_name}, 
     success:function(msg){ 
       $("#res1").html(msg); 
     }, 
     error:'' 
    });