gpt4 book ai didi

javascript - js 函数根据调用方式的不同而表现不同

转载 作者:行者123 更新时间:2023-12-02 18:09:53 24 4
gpt4 key购买 nike

我试图做到这一点,以便更改选择标记的选定选项将提交与按钮相同的表单,我有:

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>

当我按下按钮时,一切都会按我的预期进行。然而,当我更改与 select 标签关联的选项时,根据 firebug,它似乎击中了 js 函数中的两行,但表单似乎没有提交。我认为在这种情况下,js 函数的 document.forms['myform'].submit(); 行触发了一个错误。

有什么想法吗?对没有参数的函数的两次调用肯定应该表现相同吗?

最佳答案

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

鉴于:

更改选择将运行 JS。第一行将运行。第二行会出错,然后就结束了。

点击该按钮将运行 JS。第一行将运行。第二行会出错。按钮的正常行为将继续,并将提交表单(使用标准 HTML 代替 JS 进行表单提交)。

关于javascript - js 函数根据调用方式的不同而表现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19794846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com