我正在使用jQuery 2.1.4和javascript来做一个简单的引导表单验证。
我发现了三个奇怪的东西。
<input>元素的onblur和onfocus事件中工作(您可以在小提琴中尝试),但是我看不到.has-error类的样式。当然,我已经在我的boostrap.css部分中引入了<head>等。<form-group>正在将我的段落缩到屏幕左侧的末尾,它隐藏了部分内容,我一定是错误地使用了它,但我不知道为什么。Cancelar按钮不工作。我试过<s:url value="/listaReservas.jsp" />和普通的url,就像在小提琴里一样,没有用。FF抱怨cancelar not defined。是否允许像我一样定义纯Javascript函数(将Javascript与jQuery混合),或者我必须像这样绑定它:$('#xxxId').click(function(){});?谢谢大家。
发布于 2015-10-28 14:08:32
.has-error可以工作,但您需要做一些更改。首先,类应该添加到父节点form-group,其次,<input>字段应该有类form-control。HTML看起来如下所示:
<div class="form-group has-error">
    <label class="control-label" for="tarjetaId">No. Tarjeta:</label>
    <div class="controls">
        <input class="input-xlarge form-control" id="tarjetaId" name="usuarioCompra.numeroTarjeta" value="" />
    </div>
</div>和JavaScript
$("#tarjetaId").blur(function(){
    var cuenta = $("#tarjetaId");
    if (cuenta.val().length != 20){
        cuenta.closest('.form-group').addClass("has-error");
        $("#comprarButtonId").prop('disabled', true);
    } else {
        cuenta.closest('.form-group').removeClass("has-error");
    }
});至于.form-group,给你的布局一个负值。您正在使用.row作为它的父级,这也有负值。所以你实际上是在应用两层负边距。拥有<div class="row">是多余的。
最后,声明
function cancelar() {
    window.location = "/listaReservas.jsp";
};在全局范围内,这意味着在$(document).ready()之外。提交按钮的HTML应该有onclick="cancelar()"而不是onclick="cancelar"
https://stackoverflow.com/questions/33392790
复制相似问题