2012-09-13 108 views
0

所以我有几个文本框,下拉菜单和这个表单上的电台选项。当用户点击提交时,我想保存所有的信息,这样我就可以把它放到数据库中。因此,这是所有的表单的输入Jquery序列化数据

<div id="reg2a"> 
First Name: <br/><input type="text" name="fname" /> <br/> 
Last Name: <br/><input type="text" name="lname" /> <br/> 
Address: <br/><input type="text" name="address" /> <br/> 
City: <br/><input type="text" name="city" /> <br/> 
State: <br/><input type="text" name="state" /> <br/> 
Zip Code: <br/><input type="text" name="zip" /> <br/> 
Phone Number: <br/><input type="text" name="phone" /> <br/> 
Fax: <br/><input type="text" name="fax" /> <br/> 
Email: <br/><input type="text" name="email" /> <br/> 
Ethnicity: <i>Used only for grant reporting purposes</i> <br/><input type="text" name="ethnicity" /> <br/><br/> 

Instutional Information Type (select the best option) <br/> 
<select name="iitype"> 
<option value="none">None</option> 
<option value="uni">University</option> 
<option value="commorg">Community Organization</option> 
</select> <br/><br/> 

    Number of sessions willing to present: 
    <select id="vennum_select" name="vnum"> 
     <?php for($i=0;$i<=3;$i++) { ?> 
     <option value="<?php echo $i ?>"><?php echo $i ?></option> 
     <?php } ?><br/> 
    </select><br/> 
    Number of tables requested: 
    <select id="tabnum_select" name="tnum"> 

     <?php for($i=1;$i<=3;$i++) { ?> 
     <option value="<?php echo $i ?>"><?php echo $i ?></option> 
     <?php } ?> 
    </select><br/><br/> 
    Awarding of a door prize during the conference will result in a reduction in the cost of your first table. <br/><br/> 
    I am providing a door prize for delivery during the conference of $75 or more 
    <select id="prize_select" name="pnum"> 
     <option value="0">No</option> 
     <option value="1">Yes</option> 
    </select><br/> 

Prize name: <input type="text" name="prize_name" /><br/> 
Description: <input type="text" name="descr" /><br/> 
Value: <input type="text" name="retail" /><br/><br/> 

Name of Institution: <br/><input type="text" name="institution" /> <br/><br/> 

Type (select the best option) <br/> 
<select name="type"> 
<option value="none">None</option> 
<option value="k5">K-5</option> 
<option value="k8">K-8</option> 
<option value="68">6-8</option> 
<option value="912">9-12</option> 
</select> <br/><br/> 

Address: <br/><input type="text" name="address_sch" /> <br/> 
City: <br/><input type="text" name="city_sch" /> <br/> 
State: <br/><input type="text" name="state_sch" /> <br/> 
Zip Code: <br/><input type="text" name="zip_sch" /> <br/> 

<form name="frm2sub" id="frm2sub" action="page3.php" method="post"> 
<input type="submit" name="submit" value="Submit" id="submit" /> 
</form> 
</div> 

这是我的jQuery函数:

$("#frm2sub").submit(function() { 
    var values = {}; 
values["fname"] = $("#fname").val(); 
}); 

我可以为输入框每一个做到这一点,但我想给所有这些数据到下一页。那么如何将这个数组放入$ _POST?顺便说一句,我试着做

var data = $("#reg2a").serialize(); 

var data = $(document).serialize(); 

数据最终被空。有任何想法吗?谢谢

回答

1

您应该将所有输入元素包装在表单标签中。然后,所有数据将在$ _POST变量提供page3.php

像这样:

<form name="frm2sub" id="frm2sub" action="page3.php" method="post"> 
    <div id="reg2a"> 
    First Name: <br/><input type="text" name="fname" /> <br/> 
    Last Name: <br/><input type="text" name="lname" /> <br/> 
    Address: <br/><input type="text" name="address" /> <br/> 
    City: <br/><input type="text" name="city" /> <br/> 
    State: <br/><input type="text" name="state" /> <br/> 
    Zip Code: <br/><input type="text" name="zip" /> <br/> 
    Phone Number: <br/><input type="text" name="phone" /> <br/> 
    Fax: <br/><input type="text" name="fax" /> <br/> 
    Email: <br/><input type="text" name="email" /> <br/> 
    Ethnicity: <i>Used only for grant reporting purposes</i> <br/><input type="text" name="ethnicity" /> <br/><br/> 

    Instutional Information Type (select the best option) <br/> 
    <select name="iitype"> 
    <option value="none">None</option> 
    <option value="uni">University</option> 
    <option value="commorg">Community Organization</option> 
    </select> <br/><br/> 

     Number of sessions willing to present: 
     <select id="vennum_select" name="vnum"> 
      <?php for($i=0;$i<=3;$i++) { ?> 
      <option value="<?php echo $i ?>"><?php echo $i ?></option> 
      <?php } ?><br/> 
     </select><br/> 
     Number of tables requested: 
     <select id="tabnum_select" name="tnum"> 

      <?php for($i=1;$i<=3;$i++) { ?> 
      <option value="<?php echo $i ?>"><?php echo $i ?></option> 
      <?php } ?> 
     </select><br/><br/> 
     Awarding of a door prize during the conference will result in a reduction in the cost of your first table. <br/><br/> 
     I am providing a door prize for delivery during the conference of $75 or more 
     <select id="prize_select" name="pnum"> 
      <option value="0">No</option> 
      <option value="1">Yes</option> 
     </select><br/> 

    Prize name: <input type="text" name="prize_name" /><br/> 
    Description: <input type="text" name="descr" /><br/> 
    Value: <input type="text" name="retail" /><br/><br/> 

    Name of Institution: <br/><input type="text" name="institution" /> <br/><br/> 

    Type (select the best option) <br/> 
    <select name="type"> 
    <option value="none">None</option> 
    <option value="k5">K-5</option> 
    <option value="k8">K-8</option> 
    <option value="68">6-8</option> 
    <option value="912">9-12</option> 
    </select> <br/><br/> 

    Address: <br/><input type="text" name="address_sch" /> <br/> 
    City: <br/><input type="text" name="city_sch" /> <br/> 
    State: <br/><input type="text" name="state_sch" /> <br/> 
    Zip Code: <br/><input type="text" name="zip_sch" /> <br/> 


    <input type="submit" name="submit" value="Submit" id="submit" /> 

    </div> 
</form> 
0

您应该序列化FORM标记的ID。但是,真的,您还没有使用AJAX来发布表单,所以$ _POST实际上是通过发布数据来实现的。使用

<form action="process.php" method="post"> 

然后,只需提交和$ _ POST将保存数据...

3

您需要将表格周围的输入,然后给予形式的ID和使用jQuery的serialize功能。这会给你一个URL编码的所有值的字符串。

0

你的周围形成没有标记。添加表单标签并序列化。这将采取表格内的所有元素

$('#myform').serialize();