jQuery验证引擎插件在wordpress自定义页面模板中不起作用

I am using a custom page template and including jQuery Validation Engine plugin after the <!--Content Row--> comment, the code is as follows

<?php get_header(); ?>
<?php //Template Name:test ?>
<div class="wrap">

<!-- Slider -->
<?php AwesomeSlider(); ?>

<?php
    $titleType    = get_post_meta(get_the_ID(), 'intro_type', true);
    $pageTitle    = '';
    $pageDesc     = '';

    switch ($titleType) {
        case "2":
            $pageTitle    = get_post_meta(get_the_ID(), 'intro_title', true);
            break;
        case "3":
        {
            $pageTitle    = get_post_meta(get_the_ID(), 'intro_title', true);
            $pageDesc     = get_post_meta(get_the_ID(), 'intro_desc', true);
            break;
        }
        default:
            $pageTitle = get_the_title();
            break;
    }
?>
    <!--Intro-->
    <?php if($titleType != '4'){ ?>
    <div id="wrap_intro" >
        <div class="container">
            <div class="intro">
                <h1><?php echo $pageTitle; ?></h1>
                <h3><?php echo $pageDesc; ?></h3>
            </div>
        </div>
    </div>
    <?php } ?>
    <!--Content-->
    <div id="wrap_main" >
        <div class="top_left"></div>
        <div id="main" class="container">
            <!--Content Row-->
        <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/validationEngine.jquery.css" type="text/css"/>
        <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/languages/jquery.validationEngine-en.js"></script>    
        <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery-1.8.2.min.js"></script>    
        <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery.validationEngine.js"></script> 
    <script>
        jQuery(document).ready(function(){
            jQuery("#formID").validationEngine('attach');
        });
    </script>
<form id="formID" class="rmular" method="post" action="">
        <fieldset>
            <legend>
                IP Address
            </legend>
            <label>
                <span>IP: </span>
                <input value="192.168.3." class="validate[required,custom[ipv4]] text-input" type="text" name="ip" id="ip" />
            </label>
        </fieldset><input class="submit" type="submit" value="Validate &amp; Send the form!"/><hr/>
    </form>
            <div class="row">
                <?php 
                    $pageClass = 'span9';

                    if(opt('sidebar_position') == 0)
                        $pageClass = 'span12';
                    if(opt('sidebar_position') == 1)
                        $pageClass .= ' blog_right';    
                ?>
                <div class="<?php echo $pageClass; ?>">

                <?php 
                if (have_posts()) { while (have_posts()) { the_post(); 
                ?>
                    <div id="post-<?php the_ID(); ?>" <?php post_class(); ?> >
                        <?php the_content(); ?>
                    </div>
                <?php
                    }//While have_posts
                }//If have_posts
                ?>

                    <!--Comments-->
                    <?php comments_template('', true); ?>
                </div>

                <!--Sidebar-->
                <?php 
                if(opt('sidebar_position') != 0)
                    get_sidebar(); 
                ?>

            </div>
        </div>
    </div>
</div>

<?php get_footer(); ?>

I have tried everything but I can't seem to figure out how to make it work, I have also checked other stackoverflow answers on same situation but what error they are telling I cannot find them in my code please help me out because I need IPV4 validation for my site and I can't seem to figure out why it is not working.

douyue3800
douyue3800 我正在使用验证引擎默认的css文件validationEngine.jquery.css并且它没有包含给出表格的类名的定义,你可以在这里查看pastebin.com/Rizx4aYU
大约 7 年之前 回复
douaikuai2715
douaikuai2715 是的,看起来可能有几个原因。另一件事:<formid=“formID”class=“rmular”在rmular类的CSS中发生了什么?一切都有效吗?validationEngine对于东西很挑剔..
大约 7 年之前 回复
dongwuwan5646
dongwuwan5646 我最近发现了以下错误。TypeError:jQuery(...)。validationEngine不是函数[BreakOnThisError]jQuery(“#formID”)。validationifyng('attach');这是问题吗?
大约 7 年之前 回复
dqwmhrxt68679
dqwmhrxt68679 我已经尝试过firebug控制台,但没有用,它声明没有重大错误,并且get_header()没有冲突的声明。
大约 7 年之前 回复
dongqing6755
dongqing6755 你使用chromedev工具或firebug来找出你得到的JS错误或警告(尝试chrome中的控制台选项卡)并报告回来?此外,get_header()函数是否声明任何其他(重复或冲突)jquery文件等?
大约 7 年之前 回复
dongtan9518
dongtan9518 即使在复制粘贴后,提供验证引擎验证的demohtml文档中的代码也无法在wordpress中运行。Neil,是的我通过回复bloginfo('template_url')的结果来检查;它工作得很好..
大约 7 年之前 回复
doujiao2000
doujiao2000 你有没看过bloginfo('template_url');实际上是否返回了你想要的目录?如果不是像get_template_directory_uri()那么有一些选择
大约 7 年之前 回复
doufeixi6014
doufeixi6014 代码是如何失败的?
大约 7 年之前 回复

1个回答

Instead of using script tags, try the wordpress php methods for calling jQuery:

<?php

   wp_register_style('validation-css',
        get_template_directory_uri() . "/css/validationEngine.jquery.css",
        false);
   wp_enqueue_style('validation-css');

   //do the same for that form stylesheet with the formular class if you need it 

    /*******
   // Only include this commented section if you really need 
   // that specific version of jQuery for validationEngine to work. Otherwise leave it out 
    wp_deregister_script('jQuery');
    wp_register_script('jquery',
        get_template_directory_uri() . "/js/jquery-1.8.2.min.js", false);
    *****/

    wp_enqueue_script('jQuery');

    wp_register_script('validation',
       get_template_directory_uri() . "/js/jquery.validationEngine.js",
       array('jquery'));
    wp_enqueue_script('validation');

    wp_register_script('validation-language',
       get_template_directory_uri() . "/js/jquery.validationEngine-en.js",
        array('jQuery'));     //not sure about that last param, also try using array('validation') ?
    wp_enqueue_script('validation-language');
 ?>
double820122
double820122 你可以发布你需要添加的东西来修复它,以便我们可以更新其他搜索的答案吗?
大约 7 年之前 回复
douzong5473
douzong5473 Thanx @NeilNeyman它有效,你摇滚:)
大约 7 年之前 回复
dquoj04882
dquoj04882 ericmmartin.com/5-tips-for-using-jquery-with-wordpress查看其中的一些内容,了解有关动作钩函数的更多信息......它表示如果你是手动的话,你可能需要手动调用noConflict() 使用jQuery的diff版本
大约 7 年之前 回复
dongyiyu3953
dongyiyu3953 我收到以下错误Uncaught TypeError:对象[object Object]没有方法'validationEngine',而我可以清楚地看到所有js文件正确包含,这些是验证wp外的IP字段的相同文件。 $(“#formID”)。validationEngine('attach',{promptPosition:“centerRight”,scroll:false});
大约 7 年之前 回复
duanhai4046
duanhai4046 不确定,但是你也可能需要围绕那些enqueue / register调用包装一个动作处理函数。 请参阅... codex.wordpress.org/Function_Reference/...
大约 7 年之前 回复
dragon19720808
dragon19720808 thanx js文件正确包括现在,但我想问一下这个东西jQuery(文档).ready(function(){jQuery(“#formID”)。validationifyng('attach');}); 你认为我把这个功能称为对吗? 或者我应该改变什么? 因为尽管现在正确包含了javascript文件,但验证仍未发生。 你觉得我有一个noConflict案吗?
大约 7 年之前 回复
douhong9210
douhong9210 我根据你的声明更新了这个答案,它说它在wp之外工作但不在......
大约 7 年之前 回复
duanke2012
duanke2012 看看这个:matthewruddy.com/using-jquery-with-wordpress
大约 7 年之前 回复
drxkx6149
drxkx6149 是的,这就是为什么我尝试更换CSS它不起作用。
大约 7 年之前 回复
douyin2962
douyin2962 即使缺少CSS? 我明白css是用于造型但我已经看到了同样的错误在无效的html上等等的情况。所以值得一试。
大约 7 年之前 回复
dqczgtem06898
dqczgtem06898 你可能是对的,但是这个css的目的是设置出现在<input type =“text”/>上面的错误对话框。 但我的问题是验证引擎根本没有验证文本字段。 并且提到验证在wordpress外部顺利发生,使用相同的代码。
大约 7 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐