2014-09-24 180 views
0

在我的表單上,您必須選擇一個項目才能顯示錶單。我遇到的問題是提交時隱藏了表單。我該如何糾正?表單隱藏提交

這是我的腳本:

<script> 
    $(document).ready(function() { 
    $(".orderForm").hide(); 


    $(".choice").each(function() { 


     $(this).click(function() { 
      $(".orderForm").show(); 


     }); 

    }); 

}); 
</script> 

下面是HTML的一部分:

<form method="post" class="form-horizontal"> 
     <div class="choiceContainer"> 
      <@choicesSection><@choice id="2098885" class="choice"> 
     <label> 
      <div align="left"> 
       <h3 class="choiceName"> 
        <@choiceSelectionRadioButton /> 
        <@choiceName>148PKI</@choiceName> 
       </h3> 
       <div class="orderForm"> 
     </div> 
     </div></div> 
<div class="btn" align="center"><@selectedPaymentOptionSubmitButton label="Continue"  
class="continue"/></div> 

我更新了劇本太。

+1

我要去猜測,透過重新加載頁面。你在'$(document).ready'中有一個'.hide'。 – 2014-09-25 16:56:42

+0

你也可以使用submit()來處理提交。 http://api.jquery.com/submit/ – 2014-09-25 16:57:36

+0

是的,它重新加載頁面。我該如何解決這個問題? – Military911 2014-09-25 16:58:31

回答

0

使用sessionStorage(或適當的polyfill腳本)跨頁加載持久化變量。 (注sessionStorage的序列數據,從而獲得價值將不再是true但是字符串"true"時)

$(document).ready(function() { 
    if(!sessionStorage.formSubmitted) 
     $(".orderForm").hide(); 

    //Reset it for possibly another form submission 
    sessionStorage.removeItem('formSubmitted'); 


    $(".choice").each(function() { 


     $(this).click(function() { 
      $(".orderForm").show(); 
     }); 

    }); 

    $("form.form-horizontal").submit(function(){ 
     sessionStorage.formSubmitted = true; 
    }); 

}); 
+0

謝謝。現在我明白你是如何爲表單做這件事的,信用卡部分應該是同樣的方式,因爲兩者都與提交按鈕綁定在一起? – Military911 2014-09-25 20:06:01

+0

@ Military911很難說,因爲它沒有包含在你的問題中,但同樣的方法很可能也適用於你的問題。 – 2014-09-25 20:08:17

+0

我猜沒有辦法私下發信息了,是吧? – Military911 2014-09-25 20:16:35