2016-11-13 169 views
-1

我一直在學習HTML表單和PHP。我有一個有單選按鈕的多選答案的表單。它工作正常。但是,單選按鈕不會在表單中保持選中狀態。我想讓它保持選定狀態,因爲我發佈了正確答案,以便他們可以看到他們最初選擇的內容。如何存儲單選按鈕選擇?

是否有一個屬性或操作將保持單選按鈕被選中?

<form action="testit.php"> 
    <input type="checkbox" name="vehicle" value="Bike"> I have a bike<br> 
    <input type="checkbox" name="vehicle" value="Car"> I have a car<br> 
    <input type="submit" value="Submit"> 
</form> 
<?php 
if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST['submit'])) 
echo " keep selected item marked </br>"; 
?> 
+2

你可以在你的問題中包含一段代碼嗎? – wiredfordesign

+0

您可以選擇Bike或Car,但當表單從調用同一文件的ACTION中重新加載時,選擇將重置爲空白項目符號。 –

+0

我可以使用$ _SESSION var來保留檢查先前響應的內容並重置單選按鈕以進行檢查嗎? –

回答

0

您應該在您的帖子返回到頁面(或單選按鈕可見的地方)之後。

然後您可以檢查值。如果它的發佈價值,設置屬性checked="checked",你就完成了。

<form action="<?php echo $_SERVER["PHP_SELF"]"> 
    <input type="checkbox" name="vehicle" value="Bike" <?php echo (isset($_POST["vehicle"]) && $_POST["vehicle"] == "Bike" ? "checked='checked'" : ""); ?>> I have a bike<br> 
    <input type="checkbox" name="vehicle" value="Car" <?php echo (isset($_POST["vehicle"]) && $_POST["vehicle"] == "Car" ? "checked='checked'" : ""); ?>> I have a car<br> 
    <input type="submit" value="Submit"> 
</form> 
+0

將其更改爲以上。然後添加一個檢查來查看哪個值被選中。然後,我重新插入檢查了

+0

在旁註中,爲什麼要放一個?當你檢查$ _POST。我從來沒有見過這種語法。 (告訴你我是新手),即$ _POST [「vehicle」] ==「Bike」? ... –

+0

@JanetMcCready?和:如果還有其他短語。所以當POST發生時,POST值與Bike/Car類似,它的真實值將會增加checked = checked。否則它是空的。我沒有測試過代碼。我只想把你放在正確的方向。 PHP_SELF表示發佈到同一頁面。所以首先沒有選擇複選框。當進行POST時,頁面會自行完成,當選中該值時,將再次進行檢查。確保你在

中使用了 –