選項的值和文本比方說,我有一個HTML表單: 美國 CDN 我選擇選項1(美國) 然後PHP頁面 好,真不錯,做工精細和回聲的「1」 我怎樣才能顯示「USA」?所以實質上,我想傳遞選項的TEXT。我怎麼能這樣做?獲取與PHP
Q
獲取與PHP
1
A
回答
0
我建議你有一份你用來打印表格的相同數據結構。
例如,如果你做這一切在一個PHP頁面...
<?php
$countries=array('USA','CDN');
?>
<form action='?' method='post'>
<select name='country'><?php
foreach($countries as $key=>$country){?>
<option value='<?php echo $key;?>'><?php echo $country;?></option>
<?php
} ?>
</select>
<input type='submit'>
</form>
<?php
if(isset($_POST['country'])){
$chosen=(int)$_POST['country'];
if(!isset($countries[$chosen])){?>Unknown country selection, wtf<?php exit; }?>
<div style='margin-top:20px;'>You selected <?php echo $countries[$chosen];?></div>
<?php }
另一種選擇是完全拋棄了數值,只需使用國名作爲選項的值。但是,爲了驗證,您仍然需要值的列表。檢查的差異在這個例子...
<?php
$countries=array('USA','CDN');
?>
<form action='?' method='post'>
<select name='country'><?php
foreach($countries as $country){?>
<option value='<?php echo $country;?>'><?php echo $country;?></option>
<?php
} ?>
</select>
<input type='submit'>
</form>
<?php
if(isset($_POST['country'])){
$chosen=preg_replace('/[^\w]/','',$_POST['country']);//this isn't strictly necessary, since the next line checks if the value is in your original array - but filtering input is a good habit!
if(!in_array($_POST['country'],$countries)){?>Unknown country selection, wtf<?php exit; }?>
<div style='margin-top:20px;'>You selected <?php echo $chosen;?></div>
<?php }
1
客戶端的瀏覽器will not post back anything beyond the form element's name and value - 你必須把附加的表單字段和Javascript(或更改元素的值),以發佈「USA」。
2
您需要將HTML頁面上的選項值更改爲要顯示的文本(引起XSS安全隱患),或者在顯示文本的頁面上,您需要一個數組,其中包含所有值與論壇輸入相匹配。
例: $names[1] = "USA"; $names[2] = "CDN";
然後,當你想要顯示它,你會打電話給$names[$selection]
輸出的文本。
您可以考慮的另一種選擇是在用戶進行選擇(使用onUpdate)時使用javascript更新提交頁面上隱藏的HTML元素。這些信息將與提交的表單數據一起傳遞。不是最安全或可靠的選擇,但是是一種選擇。
相關問題
- 1. 獲取與PHP
- 2. 獲取與PHP
- 3. 獲取與PHP
- 4. 獲取與PHP
- 5. 獲取內部HTML與PHP
- 6. 獲取XML數據與PHP
- 7. 獲取與PHP的SOAPClient
- 8. 獲取php id與ajax?
- 9. 獲取價值與PHP
- 10. PHP收益與PDO獲取?
- 11. 從php獲取%的百分比與php
- 12. 從PHP與PHP獲取活動
- 13. 獲取與DOM文檔的PHP類
- 14. 獲取數據的HTML引導與PHP
- 15. 從陣列中獲取DATAS與PHP
- 16. 獲取與PHP(語法)的外鍵
- 17. 獲取明天與日期(「L」)PHP
- 18. 獲取精確匹配與LIKE - SQL/PHP
- 19. PayPal獲取訪問令牌與PHP cURL
- 20. Twilio獲取最新的信息與PHP
- 21. php xpath獲取div的內容與類
- 22. jQuery/Ajax獲取HTML和保存與PHP
- 23. 獲取動態MySQL表列與PHP
- 24. 與文件PHP錯誤獲取內容
- 25. Magento獲取下拉屬性值與PHP
- 26. 從MySQL獲取數據到Android與PHP
- 27. 獲取IP地址的ISP與PHP
- 28. 與PHP獲取MySQL錯誤代碼
- 29. 獲取URL與如果聲明PHP
- 30. 獲取表不存在與PHP和MySQL
打多寶寶格式化 – 2010-10-23 05:17:28
@bemace唉,格式化似乎不是我的強項! – JAL 2010-10-23 05:20:10
我的選擇下拉列表是從一個數據庫動態填充的,該數據庫已經預填充了數千行數據,全部使用數字ID。該表單有5個與用戶輸入相關的選擇元素,因此select 1會獲得一個新選項,select 2將重新填充ajax調用。所以這5個選擇都是基於數據庫中的數字ID。我只需要一種方法在表單發佈後在echo語句中顯示選項文本,以便用戶可以看到他們選擇的內容,並且此時我無法重新格式化所有內容。 – 2010-10-23 05:27:54