2013-04-09 22 views
0

我正在创建一个主题生成表单,要求发送一封电子邮件,然后将其与一系列隐藏字段一起提交以订阅该电子邮件通讯。我想要做的是添加第二种形式,为不同的通讯提交一组不同的隐藏字段,但没有单独的提交按钮。提交第二个表格时,我需要输入一个复选框

这个想法是如此,当用户给他们的电子邮件,只要他们不取消选中此复选框,他们的信息将被提交到这两种形式。我怎么能这样做呢?示例HTML:

 <form action="http://process.signupapp.com/" method="post" name="SimpleSignUp1"> 


     <input type="text" id="email" name="emailAddress"/> 
     <input type="submit" name="submit" value="submit" id="signup"> 

       <input name="sourceId" type="hidden" value="code123" /> 
       <input name="listCode" type="hidden" value="GGGG" />    
       <input name="email_page" type="hidden" value="lettername" /> 
       <input name="email_subject" type="hidden" value="Welcome Message" /> 

     </form> 

     <form action="http://process.signupapp.com/" method="post" name="SimpleSignUp"> 

       <input name="agree" type="checkbox" value="agree_terms" checked/> 
       <label for="agree">Yes, I would also like to receive the FREE cool  newsletter</label> 

<input type="submit" value="submit" /> 

<input name="sourceId" type="hidden" value="code2345" /> 
<input name="listCode" type="hidden" value="DDDD" /> 
<input name="email_page" type="hidden" value="anothername" /> 
<input name="email_subject" type="hidden" value="Welcome again" /> 

</form> 
+0

'只要他们不取消选中此复选框'..其中是复选框位于?您能否请添加显示2个表单的相关HTML以及复选框? - “我怎么能这样做?'你可以附加一个事件到你的提交按钮,防止默认行为和评估你的业务规则。根据你手工提交的所有表单:$(“form”)。submit()'或者只是一个表单:'$(“#specificFormId”)。submit()'/'$(“form”)。eq (0).submit()'。如果您发布相关的HTML,那么给出确切的答案会更容易。 – Nope 2013-04-09 21:09:35

+0

这看起来像一个简单的问题,如果你可以发布一些代码,你会很快得到答案。 – user1048676 2013-04-09 21:15:57

+0

对不起,我添加了HTML来解释beter。 – Epleroma 2013-04-10 00:41:04

回答

0

您可以在提交第一个表单时调用第二个表单的submit事件。 (猜测html结构)

$('#form1').submit(function() { 
    if(! $(this).find('#checkbox').is(':checked')) { 
     $('#form2').submit(); //Will want to make this an ajax call 
    } 
} 

$('#form2').submit(function() { 
    $.ajax({ 
     data: $('#form2').serialize(), //Or specify yourself 
     url: $('#form2').attr('action'), 
     type: 'POST', 
    }); 
    return false; //Don't want to redirect in the middle of both submissions 
} 
+0

您能否更具体地了解如何使用它?我真的不知道JavaScript。 – Epleroma 2013-04-10 00:42:20

+0

您正在注册两个事件处理程序,每个窗体一个。当提交第一个表单时,它会检查复选框是否被选中。如果是,则它会在第二个表单上调用提交事件。虽然根据你的标记,你有两个表单提交到同一个地方,为什么不节省时间,并在服务器上做逻辑,而不是两次张贴在同一个地方? – Schleis 2013-04-10 02:38:47

+0

谢谢澄清;提交到第三方系统,所以我不知道如何去处理那里的逻辑。 – Epleroma 2013-04-10 05:21:50

相关问题