2013-02-18 34 views
0

我在寫一個帶有一系列複選框的表單的php站點。我將從一個文件中加載一個數組,我希望通過並在加載表單時默認檢查一些框。我可以檢查HTML輸入標記之外的複選框嗎?

下面是一個例子:

<form action="mypage.php"> 
    <label for="option1">Option 1</label> 
    <input type="checkbox" name="option1" value="option1" /> 
    <label for="option2">Option 2</label> 
    <input type="checkbox" name="option2" value="option2" /> 
    <label for="option3">Option 3</label> 
    <input type="checkbox" name="option3" value="option3" /> 
</form> 

<?php 
    $array = array("option1", "option3"); 
    // for loop to check boxes 1 and 3. 
?> 

這可能嗎?什麼是最好的方式來做到這一點。

回答

3

您應該在HTML部分之前填充您的數組。然後:

<input type="checkbox" name="option1" value="option1" <?php if (in_array("option1", $array)) { echo 'checked="checked"'; } /> 
+0

非常感謝您! – 2013-02-18 07:47:45

0

試試這個:

<?php 
    $array = array("option1", "option3"); 
    // for loop to check boxes 1 and 3. 
?> 

<form action="mypage.php"> 
    <label for="option1">Option 1</label> 
    <input type="checkbox" name="option1" value="option1" <?php if(in_array("option1",$array)){?> checked="checked"<?php}?> /> 
    <label for="option2">Option 2</label> 
    <input type="checkbox" name="option2" value="option2" <?php if(in_array("option2",$array)){?> checked="checked"<?php}?> /> 
    <label for="option3">Option 3</label> 
    <input type="checkbox" name="option3" value="option3" <?php if(in_array("option3",$array)){?> checked="checked"<?php}?> /> 
</form> 
+0

請注意,您必須將數組(php代碼)放在html代碼的上方 – 2013-02-18 07:32:07

相關問題