簡體   English   中英

如果表單已經提交,如何預加載html表單?

[英]How can I pre-load an html form if the form has already been submitted?

我有一個搜索網站。 我希望主頁上的搜索欄表單在結果頁面上可見。

有什么解決方案可以預加載表單中的所有各個元素? 有3個文本字段,2個單選按鈕和兩個復選框。

目前,我不得不使用php函數中斷每個元素,該函數將查看$ _GET ['valueName']是否等於當前元素選項,但這似乎過於復雜和丑陋,無法成為標准。

並行示例:

<select name="section">
<option value="free" selected="<? if($_GET['section'] == 'free'){echo 'selected';} ?>">Free</option>
<option value="under100" selected="<? if($_GET['section'] == 'under100'){echo 'selected';} ?>">Under $100</option>
<option value="under200" selected="<? if($_GET['section'] == 'under200'){echo 'selected';} ?>">Under $200</option>
<option value="any" selected="<? if($_GET['section'] == 'any'){echo 'selected';} ?>">Any price</option>
    </select>

我還沒有知道它是否可以運行,但是沒有客戶端填充表單的方法嗎?

如果希望將表單中的變量傳遞到另一個頁面並顯示在該頁面上,則可以執行以下操作:

<form action="new_page.php" method="POST">
<input type="text" name="search_phrase">
</form>

然后可以在new_page上加載並顯示它們:

<?php
if(isset($_POST['search_phrase'])){ echo $_POST['search_phrase']; }
?>

這可能是將表單數據加載到新頁面上的最簡單方法。 如果您不想使用框架,div或AJAX。 我會給出一個更具體的答案,但您沒有給出示例代碼。 但無論哪種方式,此方法都應該可以正常工作。

如果要在兩個頁面中都包含整個搜索欄,則可以將搜索欄放入另一個php文件中,並使用以下命令導入:

include('my_search_bar.php'); 

而且,如果您認為$ _GET丑陋且令人打擾,則可以使用POST(它不會將變量放入link.php?var = abc之類的鏈接中。此外,如果您檢查post變量是否設置在您可以在頁面上創建該頁面,以便在執行這些功能並顯示變量之前,所有這些都是必需的,從而使這些功能看起來更加有禮節。

就像是:

<input type="text" name="search" value="<?php if(isset($_POST['your_var']){ echo htmlspecialchars($_POST['your_var']);}?>">

然后,我相信對於復選框/收音機,您會做一個循環,但是我記不住腦袋上方的聲音。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM