2012-06-27 59 views
0

所以我有一个选择选项列表中的值。但是与大多数选择选项列表一样,第一个列出了用户的虚拟文本。问题是,当$ _POST变量通过isset值是真的,但是有没有办法使它失效?这只是一个例子。即使尝试使用虚拟文本,底部总是回声正确。令人沮丧或者我做错了?顺便说一句,这只是示例代码

<?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> 

回答

2

双向

1)设置值=” 0“第一选项

<option selected="selected" value="0">Currency Pair</option> 

并与empty()代替isset()函数因为

empty()回报为 “0”

2)使用第一个选项

<option selected="selected" disabled="disabled" >Currency Pair</option> 

disabled属性,然后您可以检查与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

非常感谢,为我工作。 – chadpeppers

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> 
相关问题