gpt4 book ai didi

由于 JS 冲突,JavaScript 替代 HTML 提交按钮

转载 作者:行者123 更新时间:2023-11-28 02:09:31 26 4
gpt4 key购买 nike

我创建了一个页面,在其中我在输入字段上使用了 JavaScript 验证器(使用来自 javascript-coder.com 的脚本),但我不能使用我的来提交表单,因为它与函数冲突验证脚本正在使用。我当前的提交按钮:

<a href="" class="submit" onClick="this.form.submit();">Submit</a>

当我使用标准的 HTML 提交按钮时,脚本运行良好。有没有其他方法或功能可以在不与验证脚本冲突的情况下提交表单?我对 JS 没有足够的信心开始拆开验证脚本。

请帮忙,如果您需要任何其他信息,请询问。谢谢,

最佳答案

如果那是您的实际代码,则说明您错误地使用了 this 关键字。当从内联函数调用时,this 指的是被调用的元素,即 anchor 标记。 (有关详细信息,请参见此处:http://www.quirksmode.org/js/this.html。)据我所知,您需要从表单标签提交表单。

您应该使用的是以下之一:

document.getElementById('myForm').submit();
document.forms[0].submit();
document.getElementsByClassName('submit')[0].submit(); /* not IE8 compatible */

或者,如果您不能依赖您的元素具有 ID 标记,在页面上以已知顺序并且您需要 IE 兼容性,您可以继续“向上”搜索 DOM,直到找到按钮所在的表单,然后提交:

var parentelem = this.parentNode;
while (parentelem.nodeName.toLowerCase() != 'form') {
parentelem = parentelem.parentNode;
if (parentelem == null) { break; }
}
if (parentelem != null) {
parentelem.submit()
}

关于由于 JS 冲突,JavaScript 替代 HTML 提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9188206/

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