2013-04-09 27 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

相關問題