使用jQuery从.serialize读取以填充表单

时间:2012-08-09 16:12:51

标签: jquery forms serialization

首先,我是一名JS新手。我有form1要求我正在序列化的用户的电子邮件地址。我需要的是获取这个单一的数据字段并在一个更复杂的form2字段中反序列化它,当用户提交form1时,它会在灯箱中生成。

我完成了序列化,并完成了灯箱,但我无法弄清楚如何获取form1中提交的电子邮件地址并使用该数据预先填充form2中的电子邮件字段。任何帮助,将不胜感激。

两种表格的代码如下。 (因为它不适用而忽略灯箱)。基本上,我需要将'form1'中的'email'收到'form2'中的'email'字段

<form action="#" id="form1">
   <label>email:</label> <input type="text" name="email" id="email"/> 
    <input type="submit" value="send" name="submit" />
</form>

<form action="#" id="form2">
   <label>Email:</label> <input type="text" name="email" id="email"/>
   <label>Zip Code:</label> <input type="text" name="zip" id="zip"/>
   <strong>Choose a Newsletter </strong>
   <ul><li><input type="checkbox" value="2" name="Weekly" id="Weekly"><label>Weekly</label></li>
<li><input type="checkbox" value="4" name="Daily" id="Daily"><label>Daily</label></li>
<li><input type="checkbox" value="8" name="Monthly" id="Monthly"><label>Monthly</label></li>
</ul>
<input type="submit" value="Subscribe" name="Subscribe" />
</form>

1 个答案:

答案 0 :(得分:0)

如果您展示更多代码,我可以提供更多帮助,但这基本上就是您需要做的事情。

您的原始和序列化形式的值均为email。由于form2位于灯箱中,因此它实际上位于同一页面上。因此,您可以轻松更改form2中的电子邮件字段的值。

您可以使用.val() jQuery函数执行此操作,如下所示:$("#form2 #email").val(email);

现在很明显,您需要将jQuery选择器(#form2 #email)替换为实际适合form2中新电子邮件字段的内容。您还需要将email功能中的.val()更改为您从form1指定为电子邮件地址的变量。

修改

通过添加您的代码,我可以提供更多 - 谢谢!

当您提交第一个表单并将form1的电子邮件的值放入form2时,将运行此代码。

$("#form1").submit(function(sent){

    // Sets the value of emailvalue to the current email address
    var emailValue = $("#form1 #email").val();
    // Places the value of emailValue into the email field in form2
    $("#form2 #email").val(emailValue);

});