如果选择更改而不使用按钮提交表单,是否可以自动提交选择菜单。我的页面上有四个,每个按钮都占用太多空间。通过选择菜单,我的意思是:
<select name="something" class="something" title="something something">
<option selected="selected">Option One</option>
<option >Option Two</option>
</select>
我还想为on change事件添加一个确认弹出窗口。以下是我用于按钮的内容,但它不适用于选择菜单。
onclick="return confirm('do you haz teh codz?');"
非常感谢文章教程或示例的任何链接!
由于
答案 0 :(得分:6)
这更适合标记为“javascript”,因为它是用来执行此操作的javascript。
向select添加'onchange'事件。在下面的示例中,“form”应替换为您最喜欢的表单节点定位方法。
<select name="something" class="something" title="something something" onchange="form.submit()">
<option selected="selected">Option One</option>
<option >Option Two</option>
</select>
答案 1 :(得分:2)
您需要JavaScript解决方案,而不是PHP解决方案。 PHP只能在表单数据发送到服务器后处理; 即。,表格已提交。
您可以使用JavaScript:
<select>
添加一个事件监听器,以便在其发生变化时触发(onchange
)。<select>
更改时,获取其当前值。window.location
)到您希望他们转到的页面。 修改:我重新阅读了您的问题,如果您只是想在用户更改<select>
时提交表单,那么mwotton的回答是可能是要走的路。 (当然,将JavaScript从HTML中移开;它不属于那里。)
为了您的确认,您可以执行以下操作:
document.getElementById('my-select').onchange = function(){
return confirm('do you haz teh codz?');
});
(最好让您的JavaScript远离HTML。所以只需给<select>
id="my-select"
这样的ID,您就可以通过JavaScript访问它了。您也可以使用JavaScript像jQuery这样的库可以极大地简化您的JavaScript编程。)
答案 2 :(得分:0)
您可以为select对象实现 onchange 事件,并在函数内部引用 form.submit();
答案 3 :(得分:0)
嗯,您需要知道表单名称/ ID或其他内容。假设<form id="selectform">
和<select id="selectelement">
,
window.onload=function() {
document.getElementById('selectelement').change = function() {
if(confirm('do you haz teh codz?'))
document.getElementById('selectform').submit();
else
return false;
return true;
}
}
return false / true将决定是否将选择恢复为原始选项。