.submit()和JavaScript中的表单验证
我正在努力提高我的香草JavaScript技能一点。我正在开发一个表单验证程序只是为了好玩。以下是我迄今为止的代码:.submit()和JavaScript中的表单验证,javascript,Javascript,我正在努力提高我的香草JavaScript技能一点。我正在开发一个表单验证程序只是为了好玩。以下是我迄今为止的代码: var getParent = document.getElementById("myForm"); document.getElementById("submit").onclick = function(e) { e.preventDefault(); var cache = !cache ? "Nothing has been selected" : cache;
var getParent = document.getElementById("myForm");
document.getElementById("submit").onclick = function(e) {
e.preventDefault();
var cache = !cache ? "Nothing has been selected" : cache;
for(i = 0; i < getParent.elements.method.length; i++) {
if(getParent.elements.method[i].checked) {
cache = getParent.elements.method[i].value;
}
}
getParent.submit();
}
var getParent=document.getElementById(“myForm”);
document.getElementById(“提交”).onclick=函数(e){
e、 预防默认值();
var cache=!cache?“未选择任何内容”:cache;
对于(i=0;i
正如您所看到的,这只是测试一些单选按钮,看看它们是否被选中。我正试图使用底部的
.submit()
函数来提交表单,但出现了一个错误。为什么此代码没有使用.submit()
?提交我的表单?您不能使用名为提交
的按钮并使用提交()
该按钮将覆盖该方法。因此,当您调用
getParent.submit()
时,它实际上指向按钮,而不是实际的提交函数。您不能将按钮命名为submit
并使用submit()
该按钮将覆盖该方法。因此,当您调用
getParent.submit()
时,它实际上指向按钮,而不是实际的提交函数。您得到了什么错误?未捕获类型错误:对象的属性“submit”不是函数为按钮使用除“submit”之外的另一个ID。这一问题与jQuery无关,问题是一样的:我要说这不是一个复制品。问题包含不同的错误消息,因为实际问题不同:他拼写为Submit
,而不是Submit
。我没有料到OP会通过谷歌搜索错误消息来发现这个问题,所以它完全不同。你得到了什么错误?未捕获的TypeError:object的属性“submit”#不是一个函数为按钮使用“submit”之外的另一个ID。这个问题与jQuery无关,问题是一样的:我要说这不是一个复制品。问题包含不同的错误消息,因为实际问题不同:他拼写为Submit
,而不是Submit
。我没有料到OP会通过谷歌搜索错误消息来发现这个问题,所以它有很大的不同。一些技术细节:表单允许您按名称访问表单的元素,例如,loginForm。username
返回username
输入字段。因此,虽然表单默认具有submit
方法,但如果存在名为submit
的字段,它将覆盖submit
方法。这就是为什么submit
不是一个功能:在这种情况下,它是一个按钮。啊,谢谢你,先生。我忘了我们可以很容易地覆盖方法。我总是发现这种将表单字段作为表单元素属性访问的“有用”方法具有很强的侵入性。我明白你的意图,但它经常会导致像这样奇怪的错误。@AlexWayne:这是前一个时代的产物,当时DOM API是围绕表单交互等非常特定的任务构建的。如果我们能够摆脱所有旧网站,从头开始API,这一功能可能不会成功。一些技术细节:表单允许您按名称访问表单元素,例如,loginForm。username
返回username
输入字段。因此,虽然表单默认具有submit
方法,但如果存在名为submit
的字段,它将覆盖submit
方法。这就是为什么submit
不是一个功能:在这种情况下,它是一个按钮。啊,谢谢你,先生。我忘了我们可以很容易地覆盖方法。我总是发现这种将表单字段作为表单元素属性访问的“有用”方法具有很强的侵入性。我明白你的意图,但它经常会导致像这样奇怪的错误。@AlexWayne:这是前一个时代的产物,当时DOM API是围绕表单交互等非常特定的任务构建的。如果我们能摆脱所有的旧网站,从头开始API,这个功能可能不会成功。