我正在使用 ajax ajaxNameCall
函数来检查数据库中是否存在用户名,然后在该用户名是否被使用时提醒用户。我有它的工作但是由于更新我需要额外的检查。如果管理员想要更新用户记录,则针对用户名运行检查会发现该用户已经存在并生成消息。我想传递一个额外的 userID 参数,这样我就可以避免这种情况。有什么方法可以使用 ajax 验证器中的 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 字段中对 userID 进行硬编码(这是无用的)。想不通 =(
最佳答案
在上面的文件提取中转到jQuery-Validation-Engine/demos/demoAjaxInlinePHP.html。
在您的本地机器上运行它。
我已经添加了隐藏的输入字段,它通过了文本字段的 ajax 验证。
希望这能解决您的问题:)
我修改了以下文件来完成这些事情:-
jquery.validationEngine-en.js
在 ajaxUserCallPhp
中,我添加了 "extraDataDynamic": ["#xyz"],
属性。
通过我所附的示例,您将理解实现。
关于javascript - Ajax 验证引擎 : Pass extra parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20420588/