jQuery plugin not loading

时间:2016-07-26 作者:Eckstein

我正在尝试使用下面的函数生成2个脚本(一个内部脚本,一个外部脚本)。内部的一个(\'custom\\u script\')正在工作,但第二个(\'formValidation\')没有工作(我得到一个“validate()不是函数”错误)。验证是指向脚本的外部链接。

我做错了吗?如果是这样,正确的方法是什么?

    function smartdeploy_scripts() {
    // register your script location, dependencies and version
    wp_register_script(\'custom_script\', get_template_directory_uri() . \'/CustomJs/SmartDeployCustom.js\', array(\'jquery\'), \'1.0\' );
    wp_register_script(\'formValidation\', \'http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js\', array(\'jquery\'), \'1.9\');

    // enqueue the script
    wp_enqueue_script(\'custom_script\');
    wp_enqueue_script(\'formValidation\');
}
add_action(\'wp_enqueue_scripts\', \'smartdeploy_scripts\');
编辑:我也尝试过在插件文件中直接使用qneue,就像这样。第一个队列正在工作(“sdForms”),但上的验证仍不工作。

//Enqueue our js file
function sd_form_scripts() {
    wp_register_script( \'sdForms\',  plugin_dir_url( __FILE__ ) . \'js/sdForms.js\' );
    wp_enqueue_script( \'sdForms\' );

    //wp_register_script( \'validate\',  plugin_dir_url( __FILE__ ) . \'js/jquery.validate.js\', array(\'jquery\') );
    //wp_enqueue_script( \'validate\' );
}
add_action( \'wp_enqueue_scripts\', \'sd_form_scripts\' );

//Enqueue Validation plugin
function sd_validation_script() {
    wp_register_script(\'formValidation\', \'http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js\', array(\'jquery\'));
    wp_enqueue_script(\'formValidation\');
}
add_action(\'wp_enqueue_scripts\', \'sd_validation_script\');

1 个回复
最合适的回答,由SO网友:Aftab 整理而成

这种情况可能是在将此脚本排队之前使用JS验证。

您的代码可能如下。。

<html>
    $("#myForm").validate(); or JS file that uses validate()
    jquery.validate.js here
</html>
以上代码仅用于演示。

所以您正在使用validate() 函数,以便将其放入队列validate() 不是函数。

确保在jquery之后使用validate()函数。验证js已排队。

根据您所做的更新,更新了答案,这里您正在使用wp_enqueue_scripts 两次,不需要。

到目前为止,我所了解的是你的sdForms。js包含validate()方法,但仍在加载jquery。验证sdForms后的js。js。因此,更新后的代码将是:

//Enqueue Validation plugin
function sd_validation_script() {
    wp_enqueue_script( \'jqeury\' ); // add jqeury
    wp_register_script(\'formValidation\', \'http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js\', array(\'jquery\'));
    wp_enqueue_script(\'formValidation\'); // add formValidation plugin

    wp_register_script( \'sdForms\',  plugin_dir_url( __FILE__ ) . \'js/sdForms.js\' );
    wp_enqueue_script( \'sdForms\' ); // add sdForms after formValidation
}
add_action(\'wp_enqueue_scripts\', \'sd_validation_script\');

相关推荐

JQuery php请求返回一个奇怪的结果

我有一个奇怪的小故障发生在我身上,我不知道我是如何产生它的,或者它是否是正常的。我正在开发自己的插件,当一个足球队/足球队被输入到一个框中时,它会检查它是否已经在数据库中。以下是我的代码行add_action( \'admin_footer\', \'fws_teamcheck_javascript\' ); function fws_teamcheck_javascript() { ?> <script type="text/javascript">