2017-02-27 70 views
0

在我的表單中,我有一個選擇器供用戶選擇獎牌的數量。在我的getSearchFields()函數中,如果選擇器不爲空(即選擇器不在選擇的獎牌計數),則該功能完成任務1.但是,選擇器未通過$_POST['medalCount']!== ''測試並正在執行任務1. $_POST['medalCount']是字符串類型。我該如何解決?

<form action="index.php" method="post" name="search"> 
<select name="medalCount"> 
    <option value=0 selected> Select Medal Count </option> 
    <option value=1>1</option> 
    <option value=2>2</option> 
    <option value=3>3</option> 
    <option value=4>4</option> 
    <option value=5>5</option> 
    <option value=6>6</option> 
</select> 
</form> 

index.php ...

function getSearchFields(){ 
    if($_POST['medalCount']!== ''){ 
     //Task 1 
     $search_fields['medalCount'] =$_POST['medalCount']; 

    } 
} 
+3

否**''**標籤...您試圖混合使用JavaScript和PHP,這是行不通的。 – Darren

+1

你的表單如何爲''medalCount'提交一個空字符串值(提示:它不能)? – Phil

+2

@mickmackusa既沒有評論說,所以我不知道你爲什麼要加入它:/ – Phil

回答

3

更改此

<option value=0 selected> Select Medal Count </option> 

這個

<option value="" selected> Select Medal Count </option> 

藉助具有非空value屬性的所有<option>元素,你永遠不會(通常)在$_POST['medalCount']收到一個空的字符串值, $_POST['medalCount']!== ''總是爲真。

+0

我做了你的方法,除了我用單引號'<選項值=''選擇>選擇獎牌計數'它的工作 – 14wml

+0

@ 15ongm引號的類型通常並不重要(除非你試圖根據DTD驗證您的文檔) – Phil

2

此行是錯誤的$_POST['medalCount']!== '',你需要嘗試$_POST['medalCount']!= 0。由於您的選擇器空值爲0