Javascript Ajax验证引擎:传递额外参数

Javascript Ajax验证引擎:传递额外参数,javascript,ajax,jquery,jquery-validation-engine,Javascript,Ajax,Jquery,Jquery Validation Engine,我正在使用ajaxajaxNameCall函数检查数据库中是否存在用户名,然后通知用户是否使用了该用户名。我有它的工作,但我需要一个额外的检查,由于更新。如果管理员想要更新用户记录,则根据用户名运行检查,以发现该用户已存在并生成消息。我想传递userID的一个额外参数,以便避免这种情况。是否有任何方法可以使用ajax validator中的extraData字段为其提供用户ID 从users.php调用Ajax userName: { title: 'Us

我正在使用ajax
ajaxNameCall
函数检查数据库中是否存在用户名,然后通知用户是否使用了该用户名。我有它的工作,但我需要一个额外的检查,由于更新。如果管理员想要更新用户记录,则根据用户名运行检查,以发现该用户已存在并生成消息。我想传递userID的一个额外参数,以便避免这种情况。是否有任何方法可以使用ajax validator中的
extraData
字段为其提供用户ID

从users.php调用Ajax

userName: {
                    title: 'User Name',
                    list: false,
                    width: '15%',
                    list: true,
                    edit: false,
                    inputClass: 'validate[required,custom[onlyLetterNumber],maxSize[20],ajax[ajaxNameCall]]'
                },
验证引擎:

"ajaxNameCall": {
                // remote json service location
                "url": "scripts/validationEngine/ajaxValidateFieldName.php",
                // error
                "alertText": "* This name is already taken",
                // if you provide an "alertTextOk", it will show as a green prompt when the field validates
                "alertTextOk": "* This name is available",
                // speaks by itself
                "alertTextLoad": "* Validating, please wait"
            },
我是否可以使用带有extraData字段的ajaxUserCallPhp函数从我的表单中传入用户ID:

"ajaxUserCallPhp": {
                "url": "phpajax/ajaxValidateFieldUser.php",
                // you may want to pass extra data on the ajax call
                "extraData": "name=eric",
                // if you provide an "alertTextOk", it will show as a green prompt when the field validates
                "alertTextOk": "* This username is available",
                "alertText": "* This user is already taken",
                "alertTextLoad": "* Validating, please wait"
            },

如果是的话。。如何传递参数?我所能做的就是在extraData字段中硬编码用户ID(这是无用的)。无法理解=(

通过jquery验证引擎将额外参数传递给ajax检查

转到上述文件提取中的jQuery验证引擎/demos/demoAjaxInlinePHP.html

在本地计算机上运行它

我添加了隐藏的输入字段,它通过了文本字段的ajax验证

希望这能解决您的问题:)

我修改了以下文件以完成这些工作:-

jquery.validationEngine en.js

ajaxUserCallPhp
中,我添加了
“extraDataDynamic”:[“#xyz”],
属性


通过我所附的示例,您将了解实现

嗨,我找到了完全相同的页面,但是他说的链接不起作用=(链接不起作用,因为url末尾有多余的逗号。我已经阅读了所有这些以及更多的网站。这不是我第一次发布问题并得到答案。我已经被困在这个问题上两天了,一直在玩它并阅读网页帖子。这对我来说是新的,但在阅读了网站上人们的帖子后仍然不理解。有些地方说它可以做到,而另一些地方说它做不到。然后,就像你刚才指给我的网站一样,他们在ValidationEngine文件中添加了一行新代码,这行代码不在我下载的文件中,因此不确定javascript文件中是否缺少其他需要的代码,也没有地方解释如何使用它……
“extraDataDynamic”:['#dynamic'],
在“extraData”之后添加此行:“name=eric”,并使用
name='dynamic'
创建隐藏输入。当ajax验证调用被触发时,隐藏字段中的值将与请求一起传递。在您的情况下,它是
userID
谢谢,我现在就开始使用它。不完全是。一直在玩它,但是在让它使用我的表时,它是如何工作的事实证明,out很难。我正在使用jtable,如本例所示:与子表一起使用。当我给它一个字段名(userID)时检查firebug没有为其传递任何参数?我正在认真考虑不允许管理员编辑用户名。等等,我想我刚刚找到了答案。查看了它传递给用户名字段的字段名称,这是作为“编辑用户名”传递的。更改了“extraDataDynamic”:[“#userID”],将validationEngine en文件中的第行改为“extraDataDynamic”:[“#Edit UserName”],现在可以看到传递的参数。只需获取此值以在我的select语句中使用,就可以了。非常感谢!!