我正在编写一些代码以防止发送带有空输入的表单。我的代码使用属性is_required搜索所有输入,并通过从Bootstrap创建弹出窗口来更改其类。
我想做的是写一些东西只会给第一个空输入提供一个popover,
当我对此进行按键操作时,删除类input-error
并销毁一个弹出窗口,并将弹出窗口添加到集合中的下一个元素,直到最后一个对象。
但我不知道该怎么做。我是javascript的新手,但我注意到在for循环中创建一个函数并不是一个好主意。任何想法如何使这项工作?
我的代码:
$('input[id=check]').click(function() {
var x = $("input[is_required]").filter(function() {
return $(this).val().trim() == '';
});
var y = $("select[is_required]").filter(function() {
return $(this).val() == 0;
});
var z = x.add(y);
if ($(z).data() == null) {
$("form").submit();
};
$(x).each(function () {
$(this).val('');
$(this).addClass("input-error");
$(this).attr({
"data-toggle": "popover",
"data-container": "body",
"data-content": "Wypełnij to pole",
"data-trigger": "manual"
});
$(this).popover('show');
$(this).keypress(function() {
$(this).removeClass("input-error");
$(this).popover('destroy');
i++;
});
});
if($(x).length > 0) {
$('html, body').animate({
scrollTop: $(x[0]).offset().top-100
}, 200);
}
});