gpt4 book ai didi

javascript - 欧芹 2.0.3 不适用于 bootstrap 3

转载 作者:行者123 更新时间:2023-11-28 15:38:02 25 4
gpt4 key购买 nike

我正在尝试在我的 html 页面上使用 parsely.js 来验证输入框。目前这个html页面包含一个输入框和一个提交按钮。该结构是使用 bootstrap 3 创建的,该页面不包含 Form 标签。

<div role='form'>
<div class="row form-group">
<div class="col-xs-3">
<label title="fullname">Full Name</label>
</div>
<div class="col-xs-4">
<input type="text" class='form-control' id="name" name="fullName" data-parsley-required="true" data-parsley-required-message="Please insert your name"/>
</div>
</div>

<input type="submit" class= "btn btn-danger"/> </div>

我像这样调用parsley.js

function validateInput()
{

var handle = $("input[name='fullName']").parsley({
successClass: "has-success",
errorClass: "has-error",
classHandler: function (el) {
return $(el).closest('.form-group');//not working

},
errorsWrapper: "<span class='help-block'></span>",
errorTemplate: "<span></span>",

});

return handle.isValid();
}

单击“提交”按钮。它正确返回 true/false 并创建 span 标签。但不应用错误类别。甚至 data-parsley-required-message“请插入您的姓名”也不起作用。

当我输入alert($(el))或alert(el)时,它给出[object Object]。我认为 el 应该是我调用欧芹函数的输入对象。但我无法获取 el.attr('id') 或任何其他属性。它返回未定义。我也尝试过

//return el.closest('.form-group');//not working
//return el.$element.closest('.form-group)//not working
//return $(el).$element.closest('.form-group')//not working

我无法使用表单标签,因为我在 sharepoint 内容编辑器 Web 部件中使用此 html 结构。

最佳答案

首先有几件事:

  1. Parsley 允许您将其绑定(bind)到字段,因此如果没有表单元素 ( see docs ),您不会遇到问题;

  2. classHandler 函数接收 ParsleyField 类型的对象。通过此对象,您可以使用 el.$element 访问输入元素(例如:alert(el.$element.attr('id'));

我对您的 validateInput 函数进行了以下更改:

<script type="text/javascript">
function validateInput() {
$("input[name='fullName']").parsley({
successClass: "has-success",
errorClass: "has-error",
classHandler: function (el) {
return el.$element.closest('.form-group'); //working
},
errorsWrapper: "<span class='help-block'></span>",
errorTemplate: "<span></span>",
});

// Returns true / false if the field has been validated. Does not affect UI.
//$("input[name='fullName']").parsley().isValid());

// validate field and affects UI
$("input[name='fullName']").parsley().validate();
}
</script>

使用此代码,可以正确显示消息,并将 successClass 和 errorClass 附加到 div form-group 中。

查看以下working jsfiddle

关于javascript - 欧芹 2.0.3 不适用于 bootstrap 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24974417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com