如何更改jQuery函数中的默认参数值?

时间:2013-01-10 08:53:47

标签: jquery validation jquery-validation-engine

我没有jQuery的经验。我使用验证插件。但我应该改变错误信息baloon的位置。以下是验证功能的默认参数。

    a.validationEngine = { defaults: { validationEventTrigger: "blur", scroll: true, 
    focusFirstField: true, promptPosition: "topRight", bindMethod: "bind", 
    inlineAjax: false, ajaxFormValidation: false, ajaxFormValidationURL: false, 
    onAjaxFormComplete: a.noop, onBeforeAjaxFormValidation: a.noop, 
    onValidationComplete: false, isOverflown: false, overflownDIV: "",
    binded: false, showArrow: true, isError: false,
    ajaxValidCache: {}, autoPositionUpdate: false, InvalidFields: [], 
    onSuccess: false, onFailure: false } }

我想将 promptPosition:“topRight”更改为 promptPosition:“bottomLeft”。 当我在top函数中更改该参数的值时,它可以正常工作。

在页面中,我想将 promptPosition:“bottomLeft”参数添加到以下函数中。我该怎么办?

<script>
 jQuery(document).ready(function () {
     jQuery('#userSignInForm').validationEngine('init');
        jQuery('#signInButton').click(function () {
            jQuery('#userSignInForm .loading').animate({ opacity: 1 }, 850);
            if (jQuery('#userSignInForm').validationEngine('validate')) {
                jQuery.post('/Profile/SignIn', {
                    UserName: jQuery('#UserName').val(),
                    Password: jQuery('#Password').val(),
                    formname: 'user_SignIn_Form',
                    formtype: 'userSignInF'
                }, function () {
                    jQuery('#userSignInForm .loading').hide();
                });
                return false;
            } else {
                return false;
            }
        });
    });
</script>

2 个答案:

答案 0 :(得分:1)

初始化时发送参数:

jQuery('#userSignInForm').validationEngine('init', {
   promptPosition: "bottomLeft"
});

而不是

jQuery('#userSignInForm').validationEngine('init');

应该这样做。

Docs for jQuery Validation engine initialisation here

答案 1 :(得分:1)

您是否阅读过docs

  

使用选项时,默认行为是仅初始化ValidationEngine,因此需要手动完成附件。

<script>
  $(document).ready(function(){
    $("#formID").validationEngine('attach', {promptPosition : "centerRight", scroll: false});
 });
</script>

在您的代码中:

您需要在初始化中设置它。替换:

jQuery('#userSignInForm').validationEngine('init');

使用:

jQuery('#userSignInForm').validationEngine('init', {
  promptPosition : "bottomLeft"
});