作者 主題: 如何使用保留原本form的值?  (閱讀 12779 次)

0 會員 與 1 訪客 正在閱讀本文。

NARs

  • 活潑的大學生
  • ***
  • 文章數: 227
    • 檢視個人資料
如何使用保留原本form的值?
« 於: 2012-05-09 16:07 »
各位大大,
要如何在用form的POST傳值到同一頁的PHP後,form裡面原本輸入的表格資料不會消失。
因為我在用form傳送使用者輸入的表格資料查詢到同一頁的PHP時,form裡面原本填入的表格內容會不見,
請問各位大大這要怎麼改呢?

代碼: [選擇]
    <form method="post"  action="<?php echo $_SERVER[&#39;PHP_SELF&#39;]; ?>">   
<table width="500" border="1">
             <tr>
                 <td colspan="3"  >查詢條件</td>
            </tr>
  <tr>
              <td>查詢日期</td>
    <td>
                 <input id="f_rangeStart" name="f_rangeStart"/>
                 <button id="f_rangeStart_trigger" type="button">...</button>
                  <script type="text/javascript">
                  RANGE_CAL_1 = new Calendar({
                          inputField: "f_rangeStart",
                          dateFormat: "%Y-%m-%d",
                          trigger: "f_rangeStart_trigger",
                          bottomBar: false,
                          onSelect: function() {
                                  this.hide();
                          }
                  });
               
                </script>
                </td>
    <td>
                <input id="f_rangeEnd"  name="f_rangeEnd"/>
                <button id="f_rangeEnd_trigger" type="button">...</button>
               
           <script type="text/javascript">
                  RANGE_CAL_2 = new Calendar({
                          inputField: "f_rangeEnd",
                          dateFormat: "%Y-%m-%d",
                          trigger: "f_rangeEnd_trigger",
                          bottomBar: false,
                          onSelect: function() {
                                  this.hide();
                          }
                  });
               
                </script></td>
 
      </tr>
             
  <tr>
             
    <td colspan="3">  <input type="submit" name="submit_form" value="查詢" /></td>
   
      </tr>
  </table>
       
</form>

« 上次編輯: 2012-05-10 13:18 由 NARs »

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
Re: 如何使用保留原本form的值?
« 回覆 #1 於: 2012-05-10 18:00 »
各位大大,
要如何在用form的POST傳值到同一頁的PHP後,form裡面原本輸入的表格資料不會消失。
因為我在用form傳送使用者輸入的表格資料查詢到同一頁的PHP時,form裡面原本填入的表格內容會不見,
請問各位大大這要怎麼改呢?

把你要保留的資料再寫回欄位裡囉!

NARs

  • 活潑的大學生
  • ***
  • 文章數: 227
    • 檢視個人資料
Re: 如何使用保留原本form的值?
« 回覆 #2 於: 2012-05-11 11:44 »
Yamaka 大大,
我加了onclick去呼叫javascript 把值寫回去,可是還是不行,請問是我漏掉什麼了嗎?



代碼: [選擇]
<input type="submit" name="submit_form" value="查詢" onclick="getvalue()" />

代碼: [選擇]
<script language="javascript">
 function getvalue()
 {
 
  document.getElementById("f_rangeStart").value=<? echo $_POST['f_rangeStart'] ; ?>;
document.getElementById("f_rangeEnd").value= <? echo $_POST['f_rangeEnd'] ;?>;


 }
 </script>

see7di

  • 懷疑的國中生
  • **
  • 文章數: 51
  • 性別: 男
    • 檢視個人資料
    • http://7di.net
Re: 如何使用保留原本form的值?
« 回覆 #3 於: 2012-08-26 15:03 »
基本上都是使用傳值,然後獲取參數,最後賦予初始值的方式來做,還有一種方式就是用js記錄cookie的值,post之後獲取cookie的值并非表單賦予初始值就好了

FIEND

  • 鑽研的研究生
  • *****
  • 文章數: 700
    • 檢視個人資料
    • http://bbs.ecstart.com
Re: 如何使用保留原本form的值?
« 回覆 #4 於: 2012-08-27 21:46 »
基本上都是使用傳值,然後獲取參數,最後賦予初始值的方式來做,還有一種方式就是用js記錄cookie的值,post之後獲取cookie的值并非表單賦予初始值就好了

HI~

瀏覽器 本身 存取 COOKIE 針對一個 DOMAIN 是有限制的.

我記憶中是 300 個 .

不過這是我很久很久以前遇到的... 現在也許有改了 , 但是也不可能無限 , 要看瀏覽器的設計.

所以不要亂用 COOKIE 喔~~會出事的.

繼續用 JS 從表單元件拉回來做  加油~~


最偷懶的方式是 把 HEADER 改成~PUBLIC

再用 JS 的 BACK .

JS 會很聰明的幫你放回去.





« 上次編輯: 2012-08-28 03:10 由 FIEND »
你累了嗎? 這樣不行 , 人要比 LINUX 兇 @@ " ......

micmic3

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
Re: 如何使用保留原本form的值?
« 回覆 #5 於: 2012-08-28 16:18 »


最偷懶的方式是 把 HEADER 改成~PUBLIC

再用 JS 的 BACK .

JS 會很聰明的幫你放回去.
是 指 header("Cache-Control: public");
加 js  history back 嗎?
嗯,沒試過這招

FIEND

  • 鑽研的研究生
  • *****
  • 文章數: 700
    • 檢視個人資料
    • http://bbs.ecstart.com
Re: 如何使用保留原本form的值?
« 回覆 #6 於: 2012-08-29 06:08 »


最偷懶的方式是 把 HEADER 改成~PUBLIC

再用 JS 的 BACK .

JS 會很聰明的幫你放回去.
是 指 header("Cache-Control: public");
加 js  history back 嗎?
嗯,沒試過這招

這是超級懶人用法~~~

你累了嗎? 這樣不行 , 人要比 LINUX 兇 @@ " ......

micmic3

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
Re: 如何使用保留原本form的值?
« 回覆 #7 於: 2012-08-29 15:39 »


最偷懶的方式是 把 HEADER 改成~PUBLIC

再用 JS 的 BACK .

JS 會很聰明的幫你放回去.
是 指 header("Cache-Control: public");
加 js  history back 嗎?
嗯,沒試過這招

這是超級懶人用法~~~

我是接到值後再塞回 input 裡,不過有個問題是,當資料用 post 傳使用者按 f5 時
瀏覽器會跑出警告要不要再重新傳一份資料

FIEND

  • 鑽研的研究生
  • *****
  • 文章數: 700
    • 檢視個人資料
    • http://bbs.ecstart.com
Re: 如何使用保留原本form的值?
« 回覆 #8 於: 2012-08-29 16:36 »
一樣 可以改 HEADER 來解決這個問題.

我很久沒有用這種傳統的方式 接 WEB 系統了~

MINE TYPE 要用那組我都忘了....

你可以自己查一查.

現在都是我們下面的 FRONT END TEAM 在做 JQUERY 模組來套 AJAX 的特效.

你累了嗎? 這樣不行 , 人要比 LINUX 兇 @@ " ......