[英]How to display error icon inside input field using Bootstrap and jQuery?
I have a simple form, Name
and Email
.我有一个简单的表格
Name
和Email
。 I am getting validation error proper but not getting icon inside the input field.我收到正确的验证错误,但没有在输入字段内获得图标。 I am getting cross icon top right corner.Would you help me out in this?
我在右上角看到十字图标。你能帮我解决这个问题吗?
I need output like this我需要这样的输出
$('#myform').validate({ rules: { name: { minlength: 3, maxlength: 15, required: true }, email: { required: true, email: true }, }, highlight: function(element) { var id_attr = "#" + $( element ).attr("id") + "1"; $(element).closest('.form-group').removeClass('has-success').addClass('has-error'); $(id_attr).removeClass('glyphicon-ok').addClass('glyphicon-remove'); }, unhighlight: function(element) { var id_attr = "#" + $( element ).attr("id") + "1"; $(element).closest('.form-group').removeClass('has-error').addClass('has-success'); $(id_attr).removeClass('glyphicon-remove').addClass('glyphicon-ok'); }, errorElement: 'span', errorClass: 'help-block', errorPlacement: function(error, element) { if(element.length) { error.insertAfter(element); } else { error.insertAfter(element); } } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> <script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.min.js" type="text/javascript"></script> <form class="form-horizontal" id="myform"> <input type="text" name="name" placeholder="name" id="name"> <span class="glyphicon form-control-feedback" id="name1"></span> <input type="email" name="email" id="email" placeholder="email"><span id="status"></span> <span class="glyphicon form-control-feedback" id="email1"></span> </form>
Just merge the styling with your CSS and remove the important part.只需将样式与您的 CSS 合并并删除重要部分。 Also a little tweak in your markup.
还对您的标记进行了一些调整。
$('#myform').validate({ rules: { name: { minlength: 3, maxlength: 15, required: true }, email: { required: true, email: true }, }, highlight: function(element) { var id_attr = "#" + $( element ).attr("id") + "1"; $(element).closest('.form-group').removeClass('has-success').addClass('has-error'); $(id_attr).removeClass('glyphicon-ok').addClass('glyphicon-remove'); }, unhighlight: function(element) { var id_attr = "#" + $( element ).attr("id") + "1"; $(element).closest('.form-group').removeClass('has-error').addClass('has-success'); $(id_attr).removeClass('glyphicon-remove').addClass('glyphicon-ok'); }, errorElement: 'span', errorClass: 'help-block', errorPlacement: function(error, element) { if(element.length) { error.insertAfter(element); } else { error.insertAfter(element); } } });
.field-container { float: left; position: relative; } .form-control-feedback { line-height: 20px; font-size: 20px; line-height: 20px !important; height: 20px !important; } .glyphicon-ok { color: #4FAC34; } .glyphicon-remove { color: #FF0000; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> <script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.min.js" type="text/javascript"></script> <form class="form-horizontal" id="myform"> <div class="field-container"> <input type="text" name="name" placeholder="name" id="name"> <span class="glyphicon form-control-feedback" id="name1">x</span> </div> <div class="field-container"> <input type="email" name="email" id="email" placeholder="email"><span id="status"></span> <span class="glyphicon form-control-feedback" id="email1">x</span> </div> </form>
Use input-groups to link an icon to an inputfield, then just hide the span by default and show it in your validation function.使用输入组将图标链接到输入字段,然后默认隐藏跨度并将其显示在验证函数中。
<div class="input-group">
<input type="text" class="form-control">
<span class="input-group-addon"><i class="glyphicon glyphicon-times"></i></span>
</div>
Working fiddle: https://jsfiddle.net/084w9en1/1/工作小提琴: https : //jsfiddle.net/084w9en1/1/
Use cross icon of bootstrap使用引导程序的十字图标
HTML: HTML:
<div class="form-group">
<input type="text" name="name" placeholder="name" id="name">
<span class="glyphicon glyphicon-remove cross" aria-hidden="true"></span>
</div>
CSS: CSS:
.form-group{
position:relative;
}
span.glyphicon-remove.cross{
position: absolute;
transform: translate(-50%, -50%);
top: 50%;// put the proper position of that cross from top
right: 0;// put the proper position of that cross from right
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.