javascript - 在 WordPress 插件开发中使用 javascript 验证

标签 javascript php jquery wordpress plugins

开始在 WordPress 中开发自定义数据库表插件。

当我开始在插件中使用 jquery 时,我开始收到如下错误通知:

wp_enqueue_script was called incorrectly.

我需要一些关于如何在 WordPress 插件中调用 jQuery/js 的帮助。

这是我的验证代码:

<script>
    var jq = $.noConflict();
    jq(document).ready(function(){
        jq('#submit').click( function() {

            //check whether browser fully supports all File API
            if (window.File && window.FileReader && window.FileList && window.Blob)
            {

                //get the file size and file type from file input field
                var fsize = jq('#File_Upload')[0].files[0].size;

                if(fsize>5000000) //do something if file size more than 1 mb (1048576)
                {
                    //alert ("Only the file less than 5 mb  allowed to upload");
                    //alert ('<?php echo "Only the file less than 5 mb  allowed to upload";?>');
                    jq('.file-upload-error').show(0).delay(10000).hide(0);
                    return false;
                }
                else
                {
                    return true;
                }
            }
        });
    });
</script>

以上代码用于上传验证。

谢谢

最佳答案

首先我稍微改变了你的 javascript/jQuery 代码:

jQuery(document).ready(function($){

    console.log("plugin script loaded");
    $('#submit').click( function() {

        //check whether browser fully supports all File API
        if (window.File && window.FileReader && window.FileList && window.Blob)
        {

            //get the file size and file type from file input field
            var fsize = $('#File_Upload')[0].files[0].size;

            if(fsize>5000000) //do something if file size more than 1 mb (1048576)
            {
                console.log("Only the file less than 5 mb  allowed to upload");
                $('.file-upload-error').show(0).delay(10000).hide(0);;
                return false;
            }
            else
            {
                console.log("file is less than 5 mb allowed to upload");
                return true;
            }
        }
    });
});

这是为插件排队 javascript 文件的正确方法:

add_action( 'wp_enqueue_scripts', 'custom_table_example_validation' );
function custom_table_example_validation() {
    wp_register_script( 'est_collaboration', plugins_url('/js/upload_valid.js', __FILE__), array('jquery'));
    wp_enqueue_script( 'jquery' );
}

这应该有效

关于javascript - 在 WordPress 插件开发中使用 javascript 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38370776/

相关文章:

php - JSON 解码/编码丢失换行符/文件结构?

javascript - 在 jQuery 中添加工具提示

javascript - 如何从自动完成列表中删除以前选择的项目

javascript - 将数据传递给 React 中的 "deeper down"组件

javascript - Angularjs 如何显示函数的返回值

javascript - webapp2 和 Access-Control-Allow-Origin

javascript - 使用 jQuery 事件处理程序 - jQuery 新手

php - 正则表达式删除除表情符号以外的所有非字母数字字符

php - 如何获取选中的下拉项

javascript - 附加 css 样式以添加动态转换