0
<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>

我想通过选择标签获取值,并且值操作将在输入时更改,名称操作作为值

4

2 回答 2

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表单上的侦听器)。

于 2012-11-07T11:05:11.463 回答
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>
于 2012-11-07T11:12:38.670 回答