我创建了一个页面,我在输入字段中使用JavaScript验证器(使用javascript-coder.com中的脚本),但我无法使用my提交表单,因为它与函数冲突验证脚本正在使用。我当前的提交按钮:
<a href="" class="submit" onClick="this.form.submit();">Submit</a>
当我使用标准的HTML提交按钮时,脚本运行正常。是否有任何其他方式或功能来提交表单而不与验证脚本冲突?我对JS没有足够的信心开始将验证脚本分开。
请帮忙,如果您需要任何其他信息,请询问。 谢谢,
答案 0 :(得分:1)
如果这是您的实际代码,则说明您使用的this
关键字不正确。当从内联函数调用时,这指的是从中调用元素,即锚标记。 (有关详细信息,请参阅此处: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()
}
答案 1 :(得分:0)
试试这个
<a href="" class="submit" onClick="document.form.submit();">Submit</a>
答案 2 :(得分:0)
验证脚本使用表单的onsubmit事件来触发验证。当您以编程方式提交表单时,该事件会被触发。这应该有效:
<a href="" class="submit" onClick="if(document.yourform.onsubmit()){document.yourform.submit();}">Submit</a>
其中 yourform 是表单的ID。有关详细信息,请参阅此页面:
http://www.javascript-coder.com/javascript-form/javascript-form-submit.phtml