PHP - 如何在没有按钮的情况下提交选择菜单

时间:2010-10-27 02:48:44

标签: javascript forms

如果选择更改而不使用按钮提交表单,是否可以自动提交选择菜单。我的页面上有四个,每个按钮都占用太多空间。通过选择菜单,我的意思是:

<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?');"

非常感谢文章教程或示例的任何链接!

由于

4 个答案:

答案 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:

  1. <select>添加一个事件监听器,以便在其发生变化时触发(onchange)。
  2. <select>更改时,获取其当前值。
  3. 根据值,将用户重定向(更改window.location)到您希望他们转到的页面。
  4. 修改:我重新阅读了您的问题,如果您只是想在用户更改<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将决定是否将选择恢复为原始选项。

以下是测试:http://jsfiddle.net/yrqcj/2/