Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript js函数的行为因其调用方式而异_Javascript_Html_Select_Onclick_Onchange - Fatal编程技术网

Javascript js函数的行为因其调用方式而异

Javascript js函数的行为因其调用方式而异,javascript,html,select,onclick,onchange,Javascript,Html,Select,Onclick,Onchange,我正试图使更改选择标记的选定选项将提交与按钮相同的表单,我有: function form_search() { document.forms['myform'].process.value = 'search'; document.forms['myform'].submit(); } 包含在html文件中的/body标记之前,包括: <select name="attribute" form="myform" onchange="form_search();">

我正试图使更改选择标记的选定选项将提交与按钮相同的表单,我有:

function form_search()
{
    document.forms['myform'].process.value = 'search';
    document.forms['myform'].submit();
}
包含在html文件中的
/body
标记之前,包括:

<select name="attribute" form="myform" onchange="form_search();">
    <option value="op1">op1</option>
    <option value="op2">op2</option>
</select>

<input type="hidden" name="process">

<button onclick="form_search();">button</button>

op1
凤凰社2
按钮

当我按下按钮时,一切都如我所期望的那样工作。然而,当我更改与select标记相关联的选项时,根据firebug的说法,它似乎击中了js函数中的两行,但表单似乎没有提交。我想
document.forms['myform'].submit()上触发了一个错误


知道发生了什么事吗?毫无疑问,对一个没有参数的函数的两次调用的行为应该是相同的?

如果
document.forms['myform'].submit()
出错,那么最可能的原因是名为
submit
的表单中存在某种内容,它正在覆盖DOM中表单的
submit
方法。但是,在您与我们共享的代码中没有这方面的迹象

鉴于:

更改select将运行JS。第一行将运行。第二行将出错,即结束


单击按钮将运行JS。第一行将运行。第二行将出错。按钮的正常行为将继续,它将提交表单(使用标准HTML提交表单,而不是JS)。

“我认为有错误”-JavaScript错误控制台会说什么?您能否也包括我们在这里讨论的
表单
。我甚至不知道有错误控制台,谢谢!只是为了记录它说“TypeError:document.forms.myform.submit不是一个函数”,所以接受的答案提供了表单提交的原因,谢谢大家。