问题:<select name="select">
<option value="1">select下拉列表框的值</option>
<option value="2">sdfsd</option>
<option value="3">值一</option>
</select>
echo $_POST['select'];
这样只能获取到option的值
我想实现的效果.比如选择的是值一这个option提交后.要得到"3"和"值一"这两个数据
百度来的答案:
可以在form中添加一个隐藏域<input type="hidden" id="select_content" name="select_content" />
然后在提交的时候,先将所选择的值赋值给隐藏域,然后再将form提交。之后接收的时候就可以既得到value,又可以通过获得隐藏域的值获得选择的内容了。
问题:请问百度来的答案 具体操作是怎样的?怎么把“值一”赋给一个php变量?
求助,答对加分!!
<select id="demo" onChange="setDemoTextVal(this.options[this.selectedIndex].text)">
<option value="1">select下拉列表框的值</option>
<option value="3">值一</option>
<、sellect>
<input type="hidden" id="demo_text" value="" name="demo_text"/>
<script language="javascript">
function setDemoTextVal(_text)
{
document.getElementById("demo_text").value=_text;
}
</script>
<?php $get_zhiyi=$_POST['demo_text']?>
我是把input加了个name,然后<?php $get_zhiyi=$_POST['demo_text']?> 这样写$get_zhiyi能获取到值一吗?
<option value="1|select下拉列表框的值">select下拉列表框的值</option>
<option value="2|sdfsd">sdfsd</option>
<option value="3|值一">值一</option>
</select>
不需要JS,如果只是想获得值和文本,可以用这种方法直接获得,然后在PHP中拆分出来。
然后在提交的时候,先将所选择的值赋值给隐藏域,然后再将form提交。这里说的赋值是用js操作的,当<select name="select" onchange="fuzhi(this.options[this.selectedIndex].text)">
function fuzhi(a){
document.getElementById("select_content").value=a;//赋值,咚咚
}本回答被提问者采纳
<option value="1">select下拉列表框的值</option>
<option value="2">sdfsd</option>
<option value="3">值一</option>
</select>
<input type="hidden" id="demo_text" value="" />
<script language="javascript">
function setDemoTextVal(_text)
{
document.getElementById("demo_text").value=_text;
}
</script>
这样在提交数据后,接受demo的值得到的是3,而接受demo_text 的值就是对应的"值一"追问
大哥看我问题补充。先谢了。
追答在同一个页面PHP无法接受下拉列表和隐藏域的值,需要将整个表单提交到另外一个单独的处理页面。
再提交就行了...