我在让 jQuery bassassistance 验证插件工作时遇到了一点问题。首先,我将向您指出正在开发的相关站点。开发现场。我是中国的一名 ESL 老师,所以该网站是中文的,以便解决问题:
- 页面左上角有两个按钮,点击第一个
- ajax 请求完成后,将弹出一个带有登录表单的模式对话框
麻烦就在这里。简而言之,我无法让验证插件正常工作。已经定义了一些额外的验证方法,firebug 告诉我它们已加载到对象中。即使我设置规则来查找所需的内容,它仍然不会返回任何内容,甚至不会返回错误。我可以使用控制台调用 validate 并且它确实有效,但同样,除了返回对象之外没有任何反馈。这个问题真的让我摸不着头脑
操作流程的简化时间表如下:
- 调用页面时,会设置一个类型,在本例中为 form
- 向返回 xml 的服务器发出请求
- 任何额外的样式表和脚本文件都会被下载并注入到 head 中。#作品#
- 验证规则位于我的 pagecontroller 类中以 json 形式存储的 xml 节点中。帖子末尾的示例。此响应是浏览器安全的,当前转换为对象
- 在弹出对话框并注入表单后,调用了一个名为 formentities attach 的函数#works#
该函数的最后一部分是将验证函数附加到表单,它使用从服务器发回的规则
/* Attach validation to the button class used for submit*/ $(".form-submit").live("click", function(event){ event.preventDefault(); event.stopImmediatePropagation(); /* Perform the actual validation */ $("#"+params.strFormName).validate({ /* As defined from ajax call */ rules: params.objValidation, /* Custom function to prevent default send */ submitHandler: function(form) { /* Now the form has passed script validation, set it as inactive */ var strFormName = form.id; params.strRequestType = "formresponse"; params.strRequestMethod = "POST"; params.strRequestURL = $("#"+strFormName).attr("action") + '&ajax_type=formresponse'; params.strRequestParameters = $("#"+strFormName).serialize(); methods.requestpage(); } }); });
任何指针将不胜感激。感谢您阅读这个问题