当前位置: 首页 > 面试题库 >

jQuery验证-无法调用未定义的方法“调用”

阎宝
2023-03-14
问题内容

不知道为什么这不起作用。我相信你们都知道我在这里想要达到的目标。

当脚本运行时,我得到一个参考Uncaught TypeError: undefined is not a functionjquery.validate.js line:366它引用了这段代码:

function delegate( event ) {
            var validator = $.data( this[ 0 ].form, "validator" ),
                eventType = "on" + event.type.replace( /^validate/, "" ),
                settings = validator.settings;
            if ( settings[ eventType ] && !this.is( settings.ignore ) ) {
                settings[ eventType ].call( validator, this[ 0 ], event );
            }
        }                           ^^^^ HERE

我正在使用codeigniter2框架,因此如果我的表单页面对某些人没有意义,则表示歉意。

new_page.php(相关位)

<?php echo form_open(site_url('admin/manage_pages/new_page'),
                            array('id' => 'new-page-form')) . PHP_EOL; ?>
    <div class="form-group">
        <?php echo form_label('Page Title', 'page-title',
                                'class="control-label"') . PHP_EOL; ?>
        <?php echo form_input(array(
                                'name' => 'page-title',
                                'id' => 'input-page-title',
                                'max-length' => '255',
                                'placeholder' => 'Enter Page Title',
                                'class' => 'form-control')) . PHP_EOL; ?>
    </div><!-- /.form-group -->
    <div class="form-group">
        <?php echo form_label('Url', 'slug', 'class="control-label"'); ?>
        <span id="input-slug-span" class="form-control">
            <span id="input-slug-static"><?php echo site_url(); ?></span>
            <?php echo form_input(array(
                                    'name' => 'slug',
                                    'id' => 'input-slug')); ?>
        </span>
    </div><!-- /.form-group -->

并在new_page.validation.js中

$(document).ready(function() {

    //--------------------------------------------------------------------------------------
    //
    //  New Page Client Side Validation
    //
    //--------------------------------------------------------------------------------------

    $('#new-page-form').validate({

        onkeyup:true,

        rules: {
            'page-title': {
                required: true,
                remote: { 
                    url: 'new_title_exists',
                    type: 'post',
                    data: {
                        'page-title': function() { return $("#input-page-title").val(); }
                    }
                }
            },
            'slug': {
                required: true,
                remote: {
                    url: 'new_slug_exists',
                    type: 'post',
                    data: {
                        'slug': function() { return $('#input-slug').val(); }
                    }
                }
            }
        },
        messages: {
            'page-title': {
                required: 'Page Title is required.',
                remote: 'Page Title must be unique.'
            },
            'slug': {
                required: 'A URL slug is required',
                remote: 'The URL must be unique.'
            }
        }
    })
})

任何帮助将不胜感激!欢呼的家伙


问题答案:
$('#new-page-form').validate({
    // onkeyup:true, // REMOVE THIS
    rules: {
        'page-title': {
            required: true,
            remote: {  // element's value IS always sent
                url: 'new_title_exists',
                type: 'post',
                data: {  // MUST send the CSRF Token Value
                    'csrftoken': function() {
                        return $('input[name="csrftoken"]').val();
                    }
                }
            }
        },
        ....
  • onkeyup: true可能会破坏插件的正常运行。根据文档, “布尔true为无效值” 。这是因为该onkeyup功能已经是默认功能。

  • 每当在CodeIgniter项目中使用jQuery Validate remote方法或任何方法时,ajax()您还必须在中发送CSRF令牌data,否则将收到500服务器错误。您可以从表单上的隐藏输入元素中进行选择。但是,您不需要发送要评估的输入元素的值,因为默认情况下已经发送了该数据。更改name以上内容以匹配表单呈现的源代码中显示的内容。



 类似资料:
  • 问题内容: 我正在尝试对页面登录进行编码,但在此错误中我处于停止状态 PLIZ在这里告诉我错了事 问题答案: 用于准备的语句。例如 您正在尝试直接在主数据库对象上执行查询。对于PDO,这意味着 您确实应该研究准备好的语句。您很容易受到SQL注入攻击的影响,并且由于您从一开始就使用PDO,因此不编写安全查询基本上是不可原谅的。

  • 问题内容: 这是我的代码: 我在最后一行收到以下错误: 调用未定义的方法mysqli_stmt :: get_result() 这是conn.php的代码: 如果我写这行: 打印 “未准备的声明” 。如果我直接在IDE中运行查询替换?用值标记,效果很好。请注意,$ conn对象在项目中的其他查询中可以正常工作。 请帮忙....... 问题答案: 请阅读此方法的用户说明: http://php.ne

  • 每个人 因此,我有一个SpringBoot应用程序,它带有一个控制器,该控制器有几种方法,将以下POJO作为参数: 对于其中一个控制器endpoint,我想应用额外的验证逻辑,因此在我添加了以下内容: 是我想要应用的约束注释。 我的问题是,只有在中定义的检查成功通过时,才会调用此附加约束。如果为空,约束将被忽略,客户端将收到不完整的验证结果。我错过了什么?

  • 我刚刚安装了Laravel 5.1,访问了我的应用程序主页,我发现以下错误: 哎呀,好像出了什么事。 1/1 路由中的FatalErrorException。php第16行: 调用未定义的方法Illumbite\Routing\Route::get() 在路线中。php第16行 这是我的routes.php文件:

  • 我正在尝试使用dingo为laravel 5.3制作rest api。我在我的项目中设置了dingo,并创建了这样的api路由进行测试。 但是当我跑步的时候http://localhost:8000/api/hello 然后呢 如图所示。 我已经搜索并找到了这个对未定义方法illumbite\Routing\Route::get()的解决方案调用 但是当我用 那么这个问题就显示了 这是Larave

  • 本文向大家介绍jQuery Validation Engine验证控件调用外部函数验证的方法,包括了jQuery Validation Engine验证控件调用外部函数验证的方法的使用技巧和注意事项,需要的朋友参考一下 在使用jQuery Validation Engine的时候,我们除了使用自带的API之外,还可以自己自定义正则验证。自定义正则验证上一篇已经讲过了,如果想使用自定义函数进行验证怎