Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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验证函数,如下所示- 触发器 add_action ('wp_head', 'trigger_validatior'); function trigger_validatior() { echo' <script> jQuery(document).ready(function($) { $("#gform_submit_button_5").click(function() {

我有一个javascript验证函数,如下所示-

触发器

add_action ('wp_head', 'trigger_validatior');
function trigger_validatior() {
    echo'
        <script>
        jQuery(document).ready(function($) {
            $("#gform_submit_button_5").click(function() {
                return Form_5_Contact_Validator(gform_5);
            });
        }); 
        </script> 
    ';
}
如果我在表单中输入的数据不正确-即,我为
valOne
输入
1
,我的警报会弹出

当我将
valOne
中的值更正为2或更大时,不会弹出警报,但我的表单无法提交。为什么
返回(false)即使在更正值后仍保持活动状态

解决方案

我尝试添加
return(true)在函数的开头,该函数在执行验证之前仅返回true

我尝试在函数末尾添加
return(true)
,但即使值正确,函数也无法完成

我尝试修改验证语句,如下所示:

var valTwo = Form.input_2.value;        
if (valTwo < '1' && valTwo != ''){     
    alert("Error: Alert Error.");               
    return (false);                                                                         
} else {
    return (true);
}
var valTwo=Form.input_2.value;
如果(valTwo<'1'&&valTwo!=''){
警报(“错误:警报错误”);
返回(假);
}否则{
返回(真);
}

选项一

要继续进行当前的javascript验证,可以更改jQuery触发器。我相信在当前触发器中,返回值实际上返回到.ready()函数,因此,如果愿意的话,返回值会被“吸收”

此外,当函数以
return false
结束时,请确保停止jQuery执行默认操作,因为默认行为是允许后续函数继续运行

请尝试修改触发器,如下所示:

<script>
jQuery(document).ready(function($) {
    $("#gform_submit_button_5").click(function(event) {
        if (Form_5_Contact_Validator(gform_5)) {
            $(gform_5).submit();
        }
        event.preventDefault();
        event.stopPropagation();                
    });
});
</script>
functions.php
可以在
wp content/themes/name of theme
目录(您当前使用的主题)中找到,或者如果您和我一样,喜欢在几乎没有手的情况下进行更新,请创建一个子主题(你可以在wordpress的抄本上找到这个。本可以发布一个链接,但我没有足够的代表)

列出的最后一个寄存器/队列文件,
get\u stylesheet\u directory\u uri()。“/form.js”
,与
functions.php
文件位于同一个目录中,您可以将前面的代码块添加到该目录中。如果您需要,您可以在这里放置任何自定义触发器,还可以定义应进行的验证类型

get\u stylesheet\u directory\u uri()。“/form.js”


可以根据需要对错误消息进行样式设置和详细描述。请参阅验证插件文档。

寻求调试帮助的问题(“此代码为什么不工作?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现该问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建最小、完整且可验证的示例。您如何调用此函数?例如,
如果(瓦隆<'2'&&瓦隆!='')如果(瓦隆<'2'|瓦隆!='')这看起来是错误的我不理解这个问题,但是假设
Form\u 5\u Contact\u Validator在每个
submit
事件上运行,
attempt
将始终使用
2
初始化,因为它是本地的。顺便说一句,我可以看到,您在每次运行时将
errorList
重置为空数组时确实存在问题,因此当尝试重新启动时如果设置为0,则不会向错误页面发送任何内容。您需要在函数外部声明
errorList
,以便在以前的所有尝试中保留错误。
<script>
jQuery(document).ready(function($) {
    $("#gform_submit_button_5").click(function(event) {
        if (Form_5_Contact_Validator(gform_5)) {
            $(gform_5).submit();
        }
        event.preventDefault();
        event.stopPropagation();                
    });
});
</script>
<?php
/**
 * form_add_scripts - callback for registering the form's required javascript files
 *
 * @return void
 */
function form_add_scripts() {
    $base   = array("jquery");
    $custom = array("jquery", "jquery-validate-script", "jquery-validate-script-additional");
    wp_register_script("jquery-validate-script", "//cdn.jsdelivr.net/jquery.validation/1.14.0/jquery.validate.min.js", $base);
    wp_enqueue_script("jquery-validate-script");
    wp_register_script("jquery-validate-script-additional", "//cdn.jsdelivr.net/jquery.validation/1.14.0/additional-methods.min.js", $base);
    wp_enqueue_script("jquery-validate-script-additional");
    wp_register_script("form-script", get_stylesheet_directory_uri()."/form.js", $custom);
    wp_enqueue_script("form-script");
}
// inform wordpress of the additional scripts
add_action("wp_enqueue_scripts", form_add_scripts);
jQuery(document).ready(function ($) {
    // http://jqueryvalidation.org/documentation/
    $('#form-id-name').validate({
        rules: {
            'input-one-id-name': {
                digits: true,
                min: 2
            },
            'input-two-id-name': {
                digits: true,
                min: 2
            }
        }
    });
});