2014-06-10 139 views
0

我有一個表單有點問題。填寫並提交表單後,我無法弄清楚如何重定向到「thankyou.html」頁面。現在它不斷返回到「form.html」頁面。任何幫助將大大appriciated!表單提交後重定向

<body class="application"> 

<!-- content --> 

<section class="main-body"> 

<div class="container-fluid"> 

    <div class="row-fluid" id="content"> 

        <!-- breadcrumbs --> 
<div> 
<div class="bootstrap-widget-content" id="yw3"><p class="help"> 

</p><p class="note">The form</p><form class="well form-horizontal" id="yw0" action="form.html" method="post"><div style="visibility:hidden"><input type="hidden" value="1" name="yform_35d652cf" id="yform_35d652cf" /></div> 
<div class="control-group "><label class="control-label required" for="Applicant_firstname">Name <span class="required">*</span></label><div class="controls"><input class="span6" name="Applicant[firstname]" id="Applicant_firstname" type="text" /><span class="help-inline error" id="Applicant_firstname_em_" style="display: none"></span></div></div> 
<div class="control-group "><label class="control-label required" for="Applicant_lastname">Last name <span class="required">*</span></label><div class="controls"><input class="span6" name="Applicant[lastname]" id="Applicant_lastname" type="text" /><span class="help-inline error" id="Applicant_lastname_em_" style="display: none"></span></div></div> 
<div class="control-group "><label class="control-label required" for="Applicant_email">E-mail <span class="required">*</span></label><div class="controls"><input class="span6" name="Applicant[email]" id="Applicant_email" type="text" /><span class="help-inline error" id="Applicant_email_em_" style="display: none"></span></div></div> 
<div class="control-group "><label class="control-label" for="Applicant_phone">Phone</label><div class="controls"><input class="span2" name="Applicant[phone]" id="Applicant_phone" type="text" /><span class="help-inline error" id="Applicant_phone_em_" style="display: none"></span></div></div> 
<div class="control-group "><label class="control-label" for="Applicant_address">Adress</label><div class="controls"><input class="span6" name="Applicant[address]" id="Applicant_address" type="text" /><span class="help-inline error" id="Applicant_address_em_" style="display: none"></span></div></div> 
<div class="control-group "><label class="control-label" for="Applicant_postcode">Number</label><div class="controls"><input class="span6 postSelect2" name="Applicant[postcode]" id="Applicant_postcode" type="text" /><span class="help-inline error" id="Applicant_postcode_em_" style="display: none"></span></div></div> 
<div class="control-group "><label class="control-label" for="Applicant_postoffice">City</label><div class="controls"><input class="span6 postSelect2" name="Applicant[postoffice]" id="Applicant_postoffice" type="text" /><span class="help-inline error" id="Applicant_postoffice_em_" style="display: none"></span></div></div> 
<div class="control-group "><label class="control-label" for="Applicant_extrainfo">Message</label><div class="controls"><textarea class="span6" name="Applicant[extrainfo]" id="Applicant_extrainfo"></textarea><span class="help-inline error" id="Applicant_extrainfo_em_" style="display: none"></span></div></div> 
<div class="control-group "><label class="control-label" for="Applicant_invoice_preference">Toivottu laskutustapa</label><div class="controls"><select placeholder="Valitse toivottu laskutustapa" class="span4" name="Applicant[invoice_preference]" id="Applicant_invoice_preference"> 
<option value="">Question</option> 
<option value="1" selected="selected">option1</option> 
<option value="2">option2</option> 
<option value="3">option3</option> 
</select><span class="help-inline error" id="Applicant_invoice_preference_em_" style="display: none"></span></div></div> 

<div class="form-actions"> 
<button name="submit" class="btn btn-primary" id="yw1" type="submit">Tallenna</button>&nbsp;&nbsp;&nbsp;&nbsp;<button name="reset" class="btn" id="yw2" type="reset">Palauta oletusarvot</button>&nbsp;</div> 

</form></div></div> 
</div> 
    </div><!-- content --> 

</div> 

</section> 

<script type="text/javascript" src="/js/select2.min.js"></script> 
<script type="text/javascript" src="/jquery.joyride-2.1.js"></script> 
<script type="text/javascript"> 
/*<![CDATA[*/ 

     $('.toggle-hidden').click(function() { 

      $('.hidden-area').toggle(); 

      return false; 

     }); 

     $('.toggle-hidden-2').click(function(event) { 

      $('.hidden-area').hide(); 

      $('.' + $(event.target).data('target')).toggle(); 

      return false; 

     }); 


jQuery(function($) { 
jQuery('body').popover({'selector':'[rel=popover]'}); 
jQuery('body').tooltip({'selector':'[rel=tooltip]'}); 
jQuery('#yw0').yiiactiveform({'attributes':[{'id':'Applicant_firstname','inputID':'Applicant_firstname','errorID':'Applicant_firstname_em_','model':'Applicant','name':'Applicant[firstname]','enableAjaxValidation':true,'inputContainer':'div.control-group'},{'id':'Applicant_lastname','inputID':'Applicant_lastname','errorID':'Applicant_lastname_em_','model':'Applicant','name':'Applicant[lastname]','enableAjaxValidation':true,'inputContainer':'div.control-group'},{'id':'Applicant_email','inputID':'Applicant_email','errorID':'Applicant_email_em_','model':'Applicant','name':'Applicant[email]','enableAjaxValidation':true,'inputContainer':'div.control-group'},{'id':'Applicant_phone','inputID':'Applicant_phone','errorID':'Applicant_phone_em_','model':'Applicant','name':'Applicant[phone]','enableAjaxValidation':true,'inputContainer':'div.control-group'},{'id':'Applicant_address','inputID':'Applicant_address','errorID':'Applicant_address_em_','model':'Applicant','name':'Applicant[address]','enableAjaxValidation':true,'inputContainer':'div.control-group'},{'id':'Applicant_postcode','inputID':'Applicant_postcode','errorID':'Applicant_postcode_em_','model':'Applicant','name':'Applicant[postcode]','enableAjaxValidation':true,'inputContainer':'div.control-group'},{'id':'Applicant_postoffice','inputID':'Applicant_postoffice','errorID':'Applicant_postoffice_em_','model':'Applicant','name':'Applicant[postoffice]','enableAjaxValidation':true,'inputContainer':'div.control-group'},{'id':'Applicant_extrainfo','inputID':'Applicant_extrainfo','errorID':'Applicant_extrainfo_em_','model':'Applicant','name':'Applicant[extrainfo]','enableAjaxValidation':true,'inputContainer':'div.control-group'},{'id':'Applicant_invoice_preference','inputID':'Applicant_invoice_preference','errorID':'Applicant_invoice_preference_em_','model':'Applicant','name':'Applicant[invoice_preference]','enableAjaxValidation':true,'inputContainer':'div.control-group'}],'errorCss':'error'}); 
jQuery('#yw4 .alert').alert(); 
window.setTimeout(function() { $('.alert').alert('close'); }, 5000); 

}); 
</script> 
+1

你使用任何服務器端語言..?你要提交什麼表單..? –

+0

@hardbinger你在開玩笑嗎?只需將action =「form.html」更改爲action =「thankyou.html」 – Gajotres

+0

這是什麼問題?你甚至沒有編碼。 –

回答

0

當您提交表單,它會去在form.html,因爲你在表單中添加動作在你form.html到form.html

寫下面的代碼

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> 
    </script> 

    <script> 

$(function() { 

window.location.href="thankyou.html"; 
     }); 
    </script> 
+1

爲什麼提交表單到一個html頁面??? – Jai

+0

@hardbinger想要在提交後提供thankyou.html頁面,所以我給出了上述解決方案...如果他想直接轉到,那麼必須將表單操作更改爲thankyou.html。 –

0

我認爲引用的文件是form.html ...

<button name="submit" class="btn btn-primary" id="yw1" type="submit">Tallenna</button> 

你已經定義了提交沒有操作屬性,所以它我們E中的同一頁,提交表單...你必須把它添加任何行動,直接向同一個文件

<button name="submit" class="btn btn-primary" id="yw1" type="submit" action='form.html?submitted=1'>Tallenna</button> 

和onload事件來檢查查詢字符串參數提交,如果存在重定向或將其引導到服務器站點腳本(例如test.php)

<button name="submit" class="btn btn-primary" id="yw1" type="submit" action='test.php'>Tallenna</button> 

並在工作完成後重定向。

1

看看你的表單操作:

<form class="well form-horizontal" id="yw0" action="form.html" method="post"> 

那麼,什麼是form.html?是此頁form.html?如果是這樣,那麼這個頁面正在提交給自己。這意味着它正在向form.html發出POST請求,以包含表單中的值。除非您在服務器端進行任何操作(並且看起來不像您),否則對頁面的任何請求的標準響應是顯示該頁面。

如果你希望你的形式張貼到不同的頁面,更改action

<form class="well form-horizontal" id="yw0" action="thankyou.html" method="post"> 

但是,要知道,你還需要一些服務器端處理實際的表單提交。通過更改action,您所做的只是告訴表單向thankyou.html發出請求,而不是form.html,這將成功顯示「謝謝」頁面。但默認情況下,它實際上不會對錶單值做任何事情。

爲此,您需要某種服務器端代碼來接受和處理這些值。 (在這方面有很多選擇... PHP,ASP.NET,Java,Ruby等等)

請注意,在服務器端代碼中,您還可以更多地控制流應用程序。例如,也許您希望表單處理邏輯位於form.html(或更可能是form.php)。該頁面仍然可以提交給自己,然後在服務器端邏輯中,您可以執行重定向到另一個頁面。如果您想驗證輸入並重新顯示錯誤表單,並且只有在驗證成功時才重定向到thankyou.html,這可能很有用。

+2

最後一些明智的答案:D + 1 – Gajotres

-1

答案與添加action是錯誤的,因爲它將數據發送到thankyou.html而不是形式。HTML 所以您可以使用JS,也很容易: 只需添加onsubmit="window.location.href = 'thankyou.html'; return false;"形成屬性

example

0

只是在形式標記的action添加URL。這將重定向到它。如下所示。

<form id="payTmForm" action="https://pguat.paytm.com/oltp-web/processTransaction" method="post"> 
</form>