Max*_*lah 4 html javascript php
在下面的:
<form action="test.php" method="POST">
<select id="test" name="test">
<option value="1">Test One</option>
<option value="2">Test Two</option>
</select>
</form>
Run Code Online (Sandbox Code Playgroud)
在test.php中,我可以得到1或2如下:
$result=$_POST['test'];
Run Code Online (Sandbox Code Playgroud)
如何使用php获取所选选项的文本(即"Test One"或"Test Two")
Ben*_*n D 15
这不是单靠PHP可以完成的事情.PHP脚本只能"看到"发布的信息(发布value的selected选项).您可以使用javascript更改包含input所选文本内容的隐藏字段option,这将包含在$_POST数组中:
<form action="test.php" method="POST">
<select id="test" onchange="document.getElementById('text_content').value=this.options[this.selectedIndex].text">
<option value="1">Test One</option>
<option value="2">Test Two</option>
</select>
<input type="hidden" name="test_text" id="text_content" value="" />
</form>
Run Code Online (Sandbox Code Playgroud)
这将使$_POST['test_text']所选索引可用(但您也应该onchange()在页面加载时强制执行此功能,以便即使用户将选择字段保留为默认值也会填充该功能.
pow*_*uoy 13
只有value表单控件才会发送到服务器.发送两者的简单方法是简单地将两者都包含在value:
<select name="test">
<option value="1|Test one">Test one</option>
<option value="2|Test two">Test two</option>
</select>
Run Code Online (Sandbox Code Playgroud)
然后:
$test = explode('|', $_POST['test']);
Run Code Online (Sandbox Code Playgroud)
那么你最终将$test[0]成为"1"并$test[1]成为"测试者".