gpt4 book ai didi

javascript - 动态添加多个字段的 Bootstrap 验证

转载 作者:行者123 更新时间:2023-11-29 14:49:42 25 4
gpt4 key购买 nike

我正在使用 bootstrap v3.1.1,我想使用 bootstrap 验证来验证一个表单,但它包含一个按钮来克隆 3 个字段。通过克隆,一切都很好,但我无法验证克隆的字段。这是我的 HTML 表单:

<form id="myForm" action="myAction">
<div class="row" id="line_1">
<div class="col-md-2 form-group">
<input type="text" class="form-control input-sm" id="idFirstField_1" name="firstField[]">
</div>
<div class="col-md-2 form-group">
<input type="text" class="form-control input-sm" id="idSecondField_1" name="secondField[]">
</div>
<div class="col-md-2 form-group">
<input type="text" class="form-control input-sm" id="idThirdField_1" name="thirdField[]">
</div>
</div>
<a id="cloneButton">add line</a>
</form>

在我的 JavaScript 文件中:

    $(document).ready(function () {
var count = 2;
$('#cloneButton').click(function () {
var klon = $('#line_1');
klon.clone().attr('id', 'line_' + (++count)).insertAfter($('#line_1'));
$('#line_' + count).children('div').children('input').each(function () {
$(this).val('');
var oldId = $(this).attr('id').split('_');
$(this).attr('id', oldId[0] + '_' + count);
});
});

//For validating the fields:
$('#myForm').bootstrapValidator({
fields: {
'firstField[]': {
validators: {
notEmpty: {
message: 'Enter a value'
}
}
},
'secondField[]': {
validators: {
notEmpty: {
message: 'Enter a value'
}
}
},
'thirdField[]': {
validators: {
notEmpty: {
message: 'Enter a value'
}
}
}
}
});
});

我现在必须使用这样的东西

$('#myForm').bootstrapValidator('addField', klon.find('[name="firstField[]"]'));

对于每个字段,但我现在不知道如何正确地做到这一点。请帮我。谢谢!!

最佳答案

如果您在 input 循环中插入方法 addField,它应该可以工作。我还建议将您的第一行保存为模板。

var template = $('#line_1').clone();
var options = {
fields: {
'firstField[]': {
validators: {
notEmpty: {
message: 'Enter a value 1'
}
}
},
'secondField[]': {
validators: {
notEmpty: {
message: 'Enter a value 2'
}
}
},
'thirdField[]': {
validators: {
notEmpty: {
message: 'Enter a value 3'
}
}
}
}
};
$('#myForm').bootstrapValidator(options);

$('#cloneButton').click(function () {
var rowId = $('.row').length + 1;
var validator = $('#myForm').data('bootstrapValidator');
var klon = template.clone();
klon.attr('id', 'line_' + rowId)
.insertAfter($('.row').last())
.find('input')
.each(function () {
$(this).attr('id', $(this).attr('id').replace(/_(\d*)$/, "_"+rowId));
validator.addField($(this));
})
});

FIDDLE

关于javascript - 动态添加多个字段的 Bootstrap 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27556313/

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