2016-03-08 126 views
0

以下是我的代碼。點擊按鈕時,我需要提交表單並通過帖子傳遞值。然後div #con1應該隱藏,它應該顯示div #con2。在div #con2我需要顯示我通過帖子得到的值,但問題是點擊頁面不斷重新加載。 downvoters好心提你的意見如何隱藏表單上的一個div提交併顯示另一個div?

<?php include("../view/common/head.php"); ?> 
<script> 
    $(document).ready(function() { 
     $("#myform").submit(function() { 
      $("#con1").hide(); 
      $("#con2").show(); 
     }); 
    }); 
</script> 

<div class="container" id="con1"> 
    <div class="row"> 
     <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> 
      <form name="myform" class="form-horizontal" id="myform" method="post"> 
       <ul class="devices"> 
        <li> 
         <div class="dev-inner"> 
          <div class="dei-mid"><p>Computer Tower</p></div> 
          <div class="dei-rgt"> 
           <input type="text" class="form-control inpt-bx-txtclr-home" name="computername" id="computerid" placeholder="000"> 
          </div>     
         </div> 
        </li> 
       </ul> 
       <button type="submit" id="grad-btn">Calculate</button> 
      </div> 
     </form> 
    </div> 
</div> 

<div class="container" id="con2" style="display:none"> 
    <div class="row"> 
     <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> 
      <p><?php echo $_POST['computername'];?></p> 
     </div> 
    </div> 
</div> 
+1

'類型=「提交」'改變爲'類型=「按鈕」'如果你使用類型提交它真的會重新加載頁面 – guradio

+1

你需要使用AJAX來檢索值從服務器通過POST請求,然後顯示它在'#con2' div –

+0

改'submit'到'c​​lick'就可以解決問題,只需要處理從你的php接收的答案 –

回答

1

在你的代碼div是隱藏和顯示工作,但頁轉到重裝,這就是爲什麼它會導致問題
我建議你使用的PHP代碼,而不是jQuery的
的只需添加條件顯示DIV。
顯示CON1如果表格沒有提交其他節目CON2

<?php include("../view/common/head.php"); ?> 
<?php if(!isset($_POST['computername'])){ ?> <!-Add condition Here-> 
<div class="container" id="con1"> 
    <div class="row"> 
     <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> 
      <form name="myform" class="form-horizontal" id="myform" method="post"> 
       <ul class="devices"> 
       <li> 
        <div class="dev-inner"> 
         <div class="dei-mid"><p>Computer Tower</p></div> 
         <div class="dei-rgt"> 
          <input type="text" class="form-control inpt-bx-txtclr-home" name="computername" id="computerid" placeholder="000"> 
         </div>     
        </div> 
       </li> 
      </ul> 
      <button type="submit" id="grad-btn">Calculate</button> 
     </div> 
    </form> 
    </div> 
</div> 
<?php }else{ ?> 
<div class="container" id="con2" style="display:none"> 
    <div class="row"> 
    <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> 
     <p><?php echo $_POST['computername'];?></p> 
    </div> 
    </div> 
</div> 
<?php } ?> 
+0

我已經嘗試把它放在後im即時獲得空值 –

+0

在哪裏?在其他部分? –

+0

是在其他部分 –

0
$("#myform").submit(function(e){ 
    e.preventDefault(); // It will prevent the default action. 
    $("#con1").hide(); 
    $.ajax({ 
     url: "your url", 
     type: "GET", 
     success: function(data){ 
      $("#con2").html(data).show(); 
     } 
    }) 
    }); 

,或者你可以遵循@guradio

+0

他正在con2中回顯$ _POST ...如果你使用e.preventDeafult() –

+0

@DivyeshSavaliya,他不能得到這個值希望這會起作用! –

+0

他只是想隱藏和顯示格式提交div ..所以它也可能沒有ajax –

0

試試這個的建議;

<script> 
    $(document).ready(function() { 
     $("#myform").submit(function(evt) { 
      evt.preventDefault(); 
      $("#con1").hide(); 
      $("#con2").show(); 
     }); 
    }); 
</script> 

但它不會用這種方式發佈表單,你必須通過ajax發送數據,或者你應該手動提交表單。

0

那麼試試這個在這個我已經把按鈕不在狀態,因爲每當我點擊按鈕jQuery是工作良好,但在頁面加載它去像第一階段的第一階段是display:block,第二階段是隱藏。所以我把這個按鈕放在了表格之外。在那之後我公司通過jQuery的獲取數據

<script> 

    $(document).ready(function() { 
     $("#con2").hide(); 

     $("#grad-btn").click(function() { 
      $("#con1").hide(); 
      $("#con2").show(); 
      $("#content").html($("#computerid").val()); 
     }); 
    }); 
</script> 

<div class="container" id="con1"> 
    <div class="row" style="margin-top:150px"> 
     <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> 
      <form name="myform" class="form-horizontal" id="myform" method="post"> 
       <ul class="devices"> 
        <li> 
         <div class="dev-inner"> 
          <div class="dei-mid"><p>Computer Tower</p></div> 
          <div class="dei-rgt"> 
           <input type="text" class="form-control inpt-bx-txtclr-home" name="computername" id="computerid" placeholder="000"> 
          </div>     
         </div> 
        </li> 
       </ul> 

      </div> 
     </form> 
     <button id="grad-btn">Calculate</button> 
    </div> 
</div> 

<div class="container" id="con2" style="margin-top:150px"> 
    <div class="row"> 
     <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> 
      <p id="content"></p> 
     </div> 
    </div> 
</div>