2013-03-14 75 views
0

我想创建一个函数,将一个表单中的所有复选框发布到一个php页面。该PHP页面将做一些处理,并会返回一个值。该值将显示为一个div,我设置了名为结果。他们进行的每次检查都会发布表单并返回一些内容。 (值将告诉用户还有什么要检查或他们必须做什么才能正确完成表格)jquery ajax onclick将所有ajax提交到php并返回一些东西

我的代码只提交一个复选框,而不是检查之前检查的其他复选框。

有人可以帮忙...

谢谢!!

窗体看起来像这样有更多的复选框。

<input name="picture[1][categories][]" type="checkbox" value=1> 
<input name="picture[1][categories][]" type="checkbox" value=2> 
<input name="picture[2][categories][]" type="checkbox" value=1> 
<input name="picture[2][categories][]" type="checkbox" value=2> 
<input name="picture[3][categories][]" type="checkbox" value=1> 
<input name="picture[3][categories][]" type="checkbox" value=2> 
<div id="result"> 

我jQuery的功能看起来像

$("input").click(function() { 
    event.preventDefault(); 

    $("#result").html(''); 

    var values = $("checkbox").serialize(); 

    $.ajax({ url: 'http://example.com/check.php', 
     data: values, 
     type: 'post', 
     success: function(output) { 
         // alert(output); 
         $("#result").html(output); 
        } 
    }); 


}); 
+1

将所有复选框放在一个表单中,并尝试'$(“#form”)。serialize()'在窗体上。第二件事,我认为它会发送复选框作为'只'被检查。我认为这可能会帮助你。 – Patriks 2013-03-14 06:11:35

+0

第二件事我不明白为什么有重复的复选框,我的意思是所有都是两次,具有相同的名称和值? – Patriks 2013-03-14 06:12:49

+0

是啊固定的第一件事,让我试试第二件事可能会诀窍 – momoterraw 2013-03-14 06:24:35

回答

0

把所有的复选框的形式,并尝试$( “#形式”) .serialize()在窗体上。

而第二件事,我认为它会发送复选框,因为只有选中的是。我认为这可能会帮助你。

第三件事我不明白为什么有重复的复选框,我的意思是所有都是两次,具有相同的名称和值?

0

一种更简单的方法是将您的形式PHP脚本之前,使用客户端站点验证。这样,只要用户按下提交,您就不会不断地进行服务器调用,只有当数据有效时。

使用提交按钮调用验证脚本,并且如果成功,则将数据发送到您的php脚本。 例如

你的HTML

<button id="submit" onclick="validateForm()">Submit</button> 
在你的js

/jQuery的

$(document).ready(function(){ 

    $('#submit').click(function(){ 
     if(validateForm){ 

     //send form to php script for further processing 
     var formData = $('form').serialize(); 
     $.post('yourScript.php',formData,formSent);//your script, form data, callback function 
     }//end if 
    });//end click funciton 

});//end document ready 

function validateForm(){ 
    $('form').find('input').each(function() { 
    //validate each input item in your form 
    //highlight any input errors 
    }//end each 
    // and return true or false based on the results 
    return result; 
}//end validateForm 

function formSent(data){ 
    alert('Form has been sent!'); 
    //display returned data from php script into your results div 
    $('#yourDiv').html(data); 

}//end formSent 

希望这有助于...