如果我有這樣一個組合框:PHP發佈一個組合框的值
<select name="gender">
<option value="M">Male</option>
<option value="F">Female</option>
</select>
所以,當我發佈使用:
$gender = $_POST['gender'];
我會得到M或F作爲結果爲$性別,我如何同時獲得M,F和男性,女性?
如果我有這樣一個組合框:PHP發佈一個組合框的值
<select name="gender">
<option value="M">Male</option>
<option value="F">Female</option>
</select>
所以,當我發佈使用:
$gender = $_POST['gender'];
我會得到M或F作爲結果爲$性別,我如何同時獲得M,F和男性,女性?
正如JamWaffles所說,沒有簡單的方法來做到這一點。
但是,怎麼做,如果你必須有幾個選擇:
選項1 - 使用jQuery張貼的形式爲您服務。您可以獲得組合框的 val()
(「M」/「F」)以及html()
值 (「男性」/「女性」)。
選項2 - 將值設置爲類似value="M|Male"
然後 使用explode()
分別獲得每個值(「M」 /「男」)。
選擇3 - 只需使用一個簡單的,如果貼頁/ else語句 - if($val == "M") $gender = "Male";
男性和女性是簡單的顯示值,也被公佈的實際值是M或F.您可以在服務器端使用一個簡單的
if $_POST['gender'] == "M" { $fullGender = "Male" } else { $fullGender = "Female" }
,或者一個新的隱藏字段添加到表單和更新它,當性別選擇框中的變化,即
$(function() {
$("[name=gender]").change(function() {
$("#fullGender").val($(["[name=gender] option:selected").text());
});
}
(和形式)
<input type="hidden" name="fullGender" id="fullGender"/>
我不會推薦隱藏字段;在這種情況下做服務器端更好。 – Bojangles
你爲什麼想兩者兼而有之?另外,不,你不能; 'post'ed值是所選的一個。 – Bojangles
我希望兩者都是因爲和M或F將寫入數據庫,但男性或女性將顯示在屏幕上供用戶選擇。性別只是一個例子,我在組合框裏有100個項目的列表,並且在php上寫出每個項目也不明智,所以只考慮是否有可能獲得顯示值部分。 – PlayKid
我同意JamWaffles,再加上你會如何引用第二個值?關鍵字'gender'只能包含一個值,除非您將數據重新格式化爲使用Javascript的數組,這似乎很奇怪,因爲您只需在服務器端執行一些操作以基於短版本獲取長版本。 – DaveRandom