我正在使用JQuery循环插件(在单独的站点范围自定义js文件中定义属性)在两个页面之间循环(由表格分隔)的形式。每个页面都有自己的验证组,用于该页面上的控件。第一页有一个“下一步”按钮,手动点击会触发第一个验证组的页面验证。如果失败,则显示工具提示以供用户更正信息。如果验证成功,则调用cycle next命令。如果验证组无效,JQuery循环插件需要循环到下一张幻灯片
$('#request-information').cycle('next');
在第二页上,控件按提交按钮分组在第二个验证组中。当点击提交按钮时,触发服务器端验证,如果失败,则页面在回发时重新加载。所有这些工作,除非第二页失败,我希望窗体留在第二页。因此,如果因为表单的第二页无法验证而重新加载网页,我需要将启动幻灯片设置为表单的第二页,或者至少不能触发循环下一个命令。
似乎我不能将startingslide设置为表单的第二页,因为它会覆盖在单独的js文件中设置的循环函数的其他已定义属性。
所以没有人知道如何提前回发页面加载的第二张幻灯片,基于第二个验证组是否在点击提交按钮时失败?或者我应该使用视图状态或其他方式做一些不同的事情?
对不起,这是一个漫长的问题。希望它清晰而不混乱。 谢谢
哇,非常感谢这个伟大的答案。感谢您花时间。它非常清楚,我现在摆弄这个。这对我来说很有用。感谢您向我介绍$ .extend函数。我知道必须有一种方法来添加属性,只是不知道如何。 – Dmase05 2011-01-06 16:53:04
@ DMase05:顺便说一句,'$ .extend()'会修改它的第一个参数,因此如果这很重要,应该提供一个空对象作为第一个参数:'x = $ .extend({},a,b,...) ;'。 jQuery有许多人们似乎不知道的小工具:http://api.jquery.com/category/utilities/。干杯。 – 2011-01-06 19:16:36