<form id="check" action="." method="POST">
<input id="act" type="hidden" name="action"/>
<select id="blk">
<option value="blk">Bulk Actions</option>
<option value="tes">Active</option>
<option>Inactive</option>
<option>Delete</option>
</select>
<input type="submit" value="Submit" onclick="document.getElementById('act').value = 'document.getElementById('blk').selectedIndex.value'"/>
</form>
我希望通过select标签获取值,并且值操作将在输入时更改,名称操作为值
答案 0 :(得分:1)
你混合了两个概念。
select
元素具有反映当前选择的value
属性document.getElementById('blk').value
select
元素包含一个带值的选项列表和一个反映当前选择位置的selectedIndex
属性。像这样使用它:var sel = document.getElementById('blk');
if (sel.selectedIndex >= 0) // could be -1 as well
return sel.options[sel.selectedIndex].value
然而,你实际上想要的是
<form id="check" action="." method="POST">
<select name="action">
<option value="blk">Bulk Actions</option>
<option value="tes">Active</option>
<option>Inactive</option>
<option>Delete</option>
</select>
<input type="submit" value="Submit" />
</form>
您忘记了name
控件的select
,因此不会发布任何值。有了它,你既不需要隐藏的输入也不需要按钮上的点击监听器(它也应该是表格上的onsubmit
监听器)。
答案 1 :(得分:0)
try this
<form id="check" action="." method="POST">
<input id="act" type="hidden" name="action"/>
<select id="blk" onchange="javascript:CallMe(this.value)">
<option value="blk">Bulk Actions</option>
<option value="tes">Active</option>
<option>Inactive</option>
<option>Delete</option>
</select>
<input type="submit" value="Submit" onclick="document.getElementById('act').value = 'document.getElementById('blk').selectedIndex.value'"/>
</form>
<script>
function CallMe(String str)
{
alert(str+" : is the value selected , call the according action now");
}
</script>