Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.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 - Fatal编程技术网

保存javascript生成的错误

保存javascript生成的错误,javascript,Javascript,我的问题是,如果在发送表单之前,有一种方法可以在javascript字符串变量中获取用户处理表单元素时可能触发的错误 这些元素用于进行加法或减法的数学运算,有时在这些运算之后,我会得到不正确的最终值 如果你不理解我的问题,请告诉我试着更好地解释 注意。如果将错误保存到变量中,那么在记录完错误后,可以通过javascript/jquery提交表单 $("#formid").submit(); 您只需要删除 type="submit" 属性,并获取触发javascript方法的按钮。如果您谈论的

我的问题是,如果在发送表单之前,有一种方法可以在javascript字符串变量中获取用户处理表单元素时可能触发的错误

这些元素用于进行加法或减法的数学运算,有时在这些运算之后,我会得到不正确的最终值

如果你不理解我的问题,请告诉我试着更好地解释


注意。

如果将错误保存到变量中,那么在记录完错误后,可以通过javascript/jquery提交表单

$("#formid").submit();
您只需要删除

type="submit"

属性,并获取触发javascript方法的按钮。

如果您谈论的是验证,则使用表单的onsubmit方法并根据您的条件返回true/false

或者,如果它是关于保存错误的:如果您认为,您的JS代码将在运行时抛出一个未知错误,比如在函数someFunction中,您希望稍后进行分析

然后用try-catch和catch-do-Ajax覆盖
someFunction
中的代码块,将错误存储在数据库中,稍后可以对其进行分析

function someFunction() {
    ....
    try {
        ...
    } catch(e) {
        //do Ajax('formatted e');
    }
}

有很多选择

我认为最简单的是HTML5表单验证,如下所述:

见示例:




如果您需要更高级的东西,请查看一些库,“JavaScript表单验证”的大量结果。。。(默认的HTML5方法应该足够了)

您可以尝试以下方法:首先在发送表单之前附加函数:

onSubmit="javascript: return check_form()" 
然后,使用如下函数,例如:

function check_form(){  
    var first_element = document.getElementsByClassName("first_Control");
    var error = 0;
    if(Condition first_Control == false){
        error++;
    }
        if(error != 0){
        return false;
    }
}
希望这对你有帮助

function check_form(){  
    var first_element = document.getElementsByClassName("first_Control");
    var error = 0;
    if(Condition first_Control == false){
        error++;
    }
        if(error != 0){
        return false;
    }
}