在Yii中使用表单构建器时,有什么方法可以在验证javascript中更改inputID?Yii Framework formbuilder - 有没有什么办法可以在验证javascript中更改inputID?
我的问题是,我有一个页面上有两个类似的窗体(使用一个表单生成器代码)。 它是登录表单,使用两次。 首先,在模板中(显示在网站的每个页面上)和第二个 - 在/ site/login页面中使用的相同表单(该页面用于在访问restritions等情况下重定向用户)。
这两种形式工作正常,但yii生成验证的JavaScript与两个窗体的元素相同的inputID,我不知道如何改变它。 看一看:
<script type="text/javascript">
/*<![CDATA[*/
jQuery(function($) {
jQuery('a[rel="tooltip"]').tooltip();
jQuery('a[rel="popover"]').popover();
$('#loginForm').yiiactiveform({'attributes':[{'id':'LoginForm_email','inputID':'LoginForm_email','errorID':'LoginForm_email_em_','model':'LoginForm','name':'LoginForm[email]','enableAjaxValidation':true,'inputContainer':'div.control-group'},{'id':'LoginForm_password','inputID':'LoginForm_password','errorID':'LoginForm_password_em_','model':'LoginForm','name':'LoginForm[password]','enableAjaxValidation':true,'inputContainer':'div.control-group'},{'id':'LoginForm_rememberMe','inputID':'LoginForm_rememberMe','errorID':'LoginForm_rememberMe_em_','model':'LoginForm','name':'LoginForm[rememberMe]','enableAjaxValidation':true,'inputContainer':'div.control-group'}]});
$('#quickLoginForm').yiiactiveform({'attributes':[{'id':'LoginForm_email','inputID':'LoginForm_email','errorID':'LoginForm_email_em_','model':'LoginForm','name':'LoginForm[email]','enableAjaxValidation':true,'inputContainer':'div.control-group'},{'id':'LoginForm_password','inputID':'LoginForm_password','errorID':'LoginForm_password_em_','model':'LoginForm','name':'LoginForm[password]','enableAjaxValidation':true,'inputContainer':'div.control-group'},{'id':'LoginForm_rememberMe','inputID':'LoginForm_rememberMe','errorID':'LoginForm_rememberMe_em_','model':'LoginForm','name':'LoginForm[rememberMe]','enableAjaxValidation':true,'inputContainer':'div.control-group'}]});
jQuery('#collapse_0').collapse({'parent':false,'toggle':false});
});
/*]]>*/
</script>
这就是问题所在。我不明白,如何改变这一点: 'id':'LoginForm_email','inputID':'LoginForm_email',
到: 'id':'quickLoginForm_email','inputID':'quickLoginForm_email',
使两种形式的验证工作。 我试图改变表单ID,表单标题,元素ID,元素名称(OFC),但没有结果。 是否有可能改变它的动态性,而不改变形式文件名等? 我尝试阅读CActiveForm源代码,但是我没有找到它需要输入的ID。
Ofc可以不在/ site/login页面上显示布局表单,但这不是我想的最好的方式。
不幸的是,它不适用于Form Builder http://www.yiiframework.com/doc/guide/1.1/en/form.builder – splattru