js 函数的行为因调用方式而异
js function behaves differently depending on how it is called
我正在尝试这样做,以便更改选择标签的选定选项将提交与按钮相同的表单,我有:
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>
当我点击按钮时,一切都像我期望的那样工作。但是,当我更改与选择标签关联的选项时,根据firebug,它似乎击中了js函数中的两行,但表单似乎没有提交。我认为在这种情况下,js 函数的document.forms['myform'].submit();
行触发了一个错误。
知道发生了什么吗?当然,对没有参数的函数的两次调用应该表现相同吗?
如果
document.forms['myform'].submit();
确实出错,那么最可能的原因是名为submit
的表单内部的某些东西覆盖了DOM中表单的submit
方法。不过,在您与我们共享的代码中没有迹象表明这一点。
鉴于:
更改选择将运行 JS。第一行将运行。第二行将出错,这就是它的结束。
单击该按钮将运行 JS。第一行将运行。第二行将出错。按钮的正常行为将继续,它将提交表单(使用标准 HTML 而不是 JS)提交表单)。
相关文章:
- 任何方式使AJAX调用Gmail API,而无需通过JS库
- 在phonegap中为android调用onload函数的最佳方式
- 使用Angular存储用户以前是否选中过复选框,然后再调用它的最佳方式是什么
- 如何用JavaScriptEasy的方式一次调用大量restful服务
- 以不同的方式调用javascript函数
- 以编程方式调用javascript函数
- 以 func(a)(b)(c) 的方式调用的 Javascript 函数
- waht是将数组从jqueryajax调用传递到servlet的最佳方式
- 如何用两种不同的方式调用同一个函数
- 在没有JQuery的情况下加载HTML主体之后调用JavaScript脚本的最佳方式
- 以编程方式调用模糊会禁用与浏览器窗口的交互
- 以编程方式调用选项卡捕获引发异常
- js 函数的行为因调用方式而异
- Select2 以编程方式设置搜索词并打开包含相关结果的下拉列表(无 ajax 调用)
- 调用后端时,页面会失去对齐方式,并且需要一些时间来重新对齐控件
- 防止以编程方式调用 django-rest-framework API
- 调用事件侦听器 - 两种方式之一起作用,有什么区别
- JavaScript 对象,使用两种不同的调用函数方式查看预期结果
- Javascript”;这个“;作用域根据调用方式给出不同的结果
- Javascript和此错误.取决于函数的调用方式