2012-03-14 71 views
-1

是否可以提交表單而不刷新並隱藏當前div,顯示隱藏的div。提交表單本身沒有頁面刷新並隱藏/提交後顯示div

我嘗試使用下面的代碼提交表單並重新加載頁面。

<form method="post" name="searchfrm" action="schedule.php" > 
     <div><input type="text" placeholder="Patient Lastname" class="pName" id="pName" name="pName" /></div></br> 
     <div><input type="text" placeholder="Surgeon Name" class="sName" id="sName" name="sName" /></div></br> 
     <div> 
      <span><input type="text" placeholder="mm" class="mm" name="mm" /></span> 
      <span><input type="text" placeholder="dd" class="dd" name="dd" /></span> 
      <span><input type="text" placeholder="yyyy" class="yyyy" name="yyyy" /></span> 
      <span><input type="button" class="sButton" id="sButton"/></span> 
     </div> 

<!-- Search Results --> 
<div id="searchDiv" class="searchDiv" style="display:none;"> 
<?PHP 
$dateVal = $_POST["yyyy"]-$_POST["mm"]-$_POST["dd"]; 
$sName = $_POST["sName"]; 
$pName = $_POST["pName"]; 
echo "dateVal".$sName; 
[email protected]_query("SELECT * FROM issio_patient_procedures WHERE procedure_date='$dateVal' AND asc_id='$ascId' AND surgeon_name='".$sName."' "); 
    if(@mysql_num_rows($ser_val)>0) 
    { 
     $se_count=0; 
     while([email protected]_fetch_assoc($ser_val)) 
     { 
      $se_count++; 
      echo $se_count_det["surgeon_name"]; 
     } 
    } 
?> 
</div> 
<!-- Search Results End --> 

<div class="scroll" id="scroll" style="display:block;"> 
    <div class="dateHeader"> 
     Some content.... 
    </div 
</div 
+1

的[提交表單,而不刷新頁面]可能重複(http://stackoverflow.com/questions/ 2866063/submit-form-without-page-reloading) – jeroen 2012-03-14 23:13:42

回答

2

查找到JavaScript和Ajax瓦特/ PHP。我不會爲你寫出所有的代碼,但這應該讓你朝着正確的方向發展。

將「AJAX」想象爲加載頁面的片段,甚至只是用於使用Javascript進行解釋的數據字符串,並且只刷新已加載DOM上的某些元素。這是理論,現在你必須將它應用到你正在做的事情上。

+0

使用ajax是否可以將表單提交給自己 – Devswa 2012-03-14 23:41:01

+1

實際上使用'JavaScript'可以提交表單。 AJAX是一個與數據的httprequests有關的理論。 JavaScript可以提交表單,然後由JavaScript驅動的httprequest可以發送表單部分,並接收基於其值的數據。 – Relic 2012-03-16 20:13:54

3

一個非常流行和普遍的答案是您需要一個Ajax請求來執行這樣的異步任務。

我可以建議你jQuery的方法

 $.ajax({ 
url:'dataProcessingPage.php', 
    data: { pName:$("#pName").value, sName:$("#sName").value, .....}, 
    type:'POST', 
    contentType: 'application/json; charset=utf-8', 
    dataType: 'json', 
success:function(){ 

     $("#formDiv").hide(); 
     }, 

}); 

以上將提交您的形式dataProcessingPage.php

+0

在這裏我必須在選擇查詢中使用表單本身的提交值是否有可能使用ajax ..? – Devswa 2012-03-14 23:24:40

+0

我從你的評論中讀到的是你想使用查詢中提交的值。當然,在你的'dataProcessingPage.php'裏面,只需設置一個if條件來檢查其中一個提交的值。如果是的話,然後把它們全部放在一個選擇的語句中,就像通常使用正常表單一樣。 – jmishra 2012-03-14 23:30:47

+0

我想我不清楚.....在這裏我想在同一個schedule.php頁面本身的查詢內使用提交的值。 – Devswa 2012-03-14 23:36:37