?!
在JavaScript中直接操作HTML DOM不会触发事件。您甚至可以拨打myForm.submit()
,浏览器不会触发表单的onsubmit事件,因此绕过客户端onsubmit验证。
我不知道你已经尝试过什么,但是这是一个方式来选择,例如下拉列表中的第一项:
document.getElementsByTagName('select')[0].getElementsByTagName('option')[0].selected = true;
(http://jsfiddle.net/Jawh6/)
原油,我知道。通常您的表格和字段将被命名或以其他方式标识,以便您更加明确地解决它们:例如document.myForm.mySelect.options[0].selected = true;
因为你的PHP已经设置“选择”的选项属性(或您的问题没有很好的标记),这是设置在页面加载时的默认选项的最佳场所,根本不需要JavaScript。
如果您有兴趣了解如何让PHP为选择元素写出HTML并正确地将选定属性分配给预期选项,那么我认为您需要编写一个新问题来吸引PHP民众。
要么你有其他电话您DoSomething的功能,或者你已经过于简单化的例子,你实际使用框架的事件处理程序绑定到字段,也许你不小心叫你的函数,而不是分配它,例如:
mySelect.onchange = DoSomething(); // oops, this calls DoSomething right away.
mySelect.onchange = DoSomething; // this sets DoSomething as the event handler.
你特别想要PHP代码或JavaScript是可以接受的吗?另外,为什么你不能使用'onclick'并在'onclick'处理程序中附加'onchange'? – mechalynx
你在说什么毫无意义。由于该标签上的'selected'命令,您的选择选项将加载选项'This is the third item'。当你改变这个选项时,说'这是第二个项目',那么你的onchange会被解雇。如果它在页面加载时触发,而不是在另一个地方再次调用它。 –
您可以在页面加载后从javascript生成onchange事件。 – Julian