Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 即使验证函数引发未捕获的异常,表单也会提交_Javascript_Forms_Submit - Fatal编程技术网

Javascript 即使验证函数引发未捕获的异常,表单也会提交

Javascript 即使验证函数引发未捕获的异常,表单也会提交,javascript,forms,submit,Javascript,Forms,Submit,我有一个表单,其验证函数上的一行抛出了一个未捕获的异常,但浏览器没有停止执行,而是提交表单 但我正在寻找一个更好的方法来做到这一点?我认为浏览器应该在默认情况下处理这个问题,规范中有没有提到,如果onsubmit函数抛出异常,浏览器应该如何操作 ​ 因为表单中没有“badInput”命名元素。尽管最好使用form.elements[“elementName”]或者更好地使用JS框架(比如jQuery/dojo/等等) 如果您仍然需要此行,可以使用typeof: if (typeof docum

我有一个表单,其验证函数上的一行抛出了一个未捕获的异常,但浏览器没有停止执行,而是提交表单

但我正在寻找一个更好的方法来做到这一点?我认为浏览器应该在默认情况下处理这个问题,规范中有没有提到,如果onsubmit函数抛出异常,浏览器应该如何操作

因为表单中没有“badInput”命名元素。尽管最好使用
form.elements[“elementName”]
或者更好地使用JS框架(比如jQuery/dojo/等等)

如果您仍然需要此行,可以使用
typeof

if (typeof document.forms["myform"].elements['badInput'] != "undefined")
   ...
因为表单中没有“badInput”命名元素。尽管最好使用
form.elements[“elementName”]
或者更好地使用JS框架(比如jQuery/dojo/等等)

如果您仍然需要此行,可以使用
typeof

if (typeof document.forms["myform"].elements['badInput'] != "undefined")
   ...

您好,谢谢您的回答,我知道它会引发一个错误,我特意写下了,正如我所说的,这是一个更简单的示例,但可能有一些代码行会引发其他异常,我想知道是否有默认的方法来处理这些异常,或者我是否需要使用try/catch?如果您想处理所有异常,请使用try/catch,或者用
typeof
手动检测,我在上面写道。我知道,但浏览器不应该默认处理它,即遇到异常后不应该提交表单,这是浏览器中的错误还是功能错误?不,如果浏览器遇到异常,javascript“线程”停止,因此,行
return false
没有运行,因此没有设置事件传播和默认操作取消,因此表单提交。您好,感谢您的回答,我知道它会引发错误,我特意写道,正如我所说,这是一个更简单的示例,但可能有一些代码行会引发其他异常,我想知道是否有一种默认的方法来处理这些问题,或者我需要使用try/catch吗?如果你想处理所有异常,或者使用
typeof
手动检测,请使用try/catch,我在上面写道。我知道,但浏览器默认情况下不应该处理它,即遇到异常后不应该提交表单,这是浏览器中的错误还是功能上的错误?不,如果浏览器遇到异常,javascript“线程”停止,因此行
return false
不会运行,因此没有设置事件传播和默认操作取消,因此表单提交。
var value = document.forms["myform"]['badInput'].value;
//this line throws an exception
if (typeof document.forms["myform"].elements['badInput'] != "undefined")
   ...