所以我有一个包含值的选择选项列表。但与大多数选择选项列表一样,第一个选项列出了用户的虚拟文本。问题是当$ _POST变量被携带时,isset值为true,但是有没有办法使它成为假?这只是一个例子。即使尝试使用虚拟文本,底部也总是如此。令人沮丧或者我做错了吗?顺便说一下,这只是示例代码
<?php
if(isset($_POST['curreny_pairs'])):
echo "true";
endif;
?>
<html>
<form action="blah" method="post">
<select name="currency_pairs" id="currency_pairs">
<option selected="selected">Currency Pair</option>
<option value="AUDCAD" >AUD/CAD</option>
<option value="AUDCHF" >AUD/CHF</option>
</select>
<input type="submit" value="submit">
</form>
</html>
答案 0 :(得分:2)
双向
1)为第一个选项
设置 value =“0” <option selected="selected" value="0">Currency Pair</option>
并使用empty()
检查,而不是 isset(),因为
返回 false
empty()
为“0”
2)使用disabled
属性作为第一个选项
<option selected="selected" disabled="disabled" >Currency Pair</option>
然后您可以查看isset()
<?php
if(!empty($_POST['curreny_pairs'])):
echo "true";
endif;
?>
<html>
<form action="blah" method="post">
<select name="currency_pairs" id="currency_pairs">
<option selected="selected" value="0">Currency Pair</option>
<option value="AUDCAD" >AUD/CAD</option>
<option value="AUDCHF" >AUD/CHF</option>
</select>
<input type="submit" value="submit">
</form>
答案 1 :(得分:0)
您可以在表格第一个选项中设置特定值,然后确保未选中
<?php
if(isset($_POST['curreny_pairs']) && $_POST['curreny_pairs']!="false")
echo "true";
endif;
?>
<html>
<form action="blah" method="post">
<select name="currency_pairs" id="currency_pairs">
<option value="false" selected="selected">Currency Pair</option>
<option value="AUDCAD" >AUD/CAD</option>
<option value="AUDCHF" >AUD/CHF</option>
</select>
<input type="submit" value="submit">
</form>
</html>