Bootstrap模式有效,但不显示

时间:2017-10-08 13:35:50

标签: javascript jquery twitter-bootstrap jsp bootstrap-modal

我正在寻找各种日子来解决我的困境,但我找不到它 我有一个jsp代码,其中我包含两个模态,当我尝试显示其中一个时,它不显示但元素显示(在监视器中没有任何更改,但模式上的焦点更改允许我与模态的元素交互,如输入字段)

浏览器的控制台没有显示任何错误

这是我的代码:
index.jsp的

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Ejercicio 1</title>
        <link rel="stylesheet" type="text/css" href="./css/bootstrap.min.css">
        <link rel="stylesheet" type="text/css" href="./css/font-awesome.min.css">
        <link rel="stylesheet" type="text/css" href="./css/jquery.dataTables.min.css">
        <link rel="stylesheet" type="text/css" href="./css/main.css">
    </head>
    <body>
    <nav class="navbar navbar-default navbar-fixed-top">
        <div class="container">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-controls="navbar">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="./">Ejercicio</a>
            </div>
            <div id="navbar" class="collapse navbar-collapse">
                <ul class="nav navbar-nav">
                </ul>
            </div>
        </div>
    </nav>
    <div class="container">
        <div class="col-md-2 sidenav" id="info">
        <!-- añadir información del elemento seleccionado -->
        </div>
        <div class="col-md-8 text-left">
            <div class="panel panel-info">
                <div class="panel-heading">
                    <h1>Tabla de Empleados</h1>
                </div>
                <div class="panel-body">
                    <%@include file="tablaEmpleados.jsp" %>
                </div>
            </div>
            <br>
            <br>
            <div class="panel panel-success">
                <div class="panel-heading">
                    <h1>Diferencias</h1>
                </div>
                <div class="panel-body">
                    <div class="col-md-6">
                        <h2>Request</h2>
                        <p>Aquí, los atributos solo permanecen cuando la petición
                        esté completa, o cuando se pasa de un servlet a otro y 
                        son utiles cuando se necesita pasar información especifica
                        del lado de servlet a jsp.</p><br>
                        <p>Un ejemplo es el resultado de una consulta.</p>
                    </div>
                    <div class="col-md-6">
                        <h2>Session</h2>
                        <p>Aquí, los atributos permanecen activos mientras la
                        sesión este activa, ya que se espera que haya peticiónes
                        relacionadas. Los atributos de sesion no se pueden pasar
                        de un servlet a otro. Son utiles cuando se requiere
                        pasar información constantemente por una sesion</p><br>
                        <p>Un ejemplo es la identificación de un usuario.</p>
                    </div>
                </div>
            </div>
        </div>
        <div class="col-md-2 sidenav">
            <div class="btn-group-vertical">
                <button name="BotonAgregar" class="btn btn-info" data-toggle="modal" data-target="#ModalAgregar">
                    <span class="fa fa-check" aria-hidden="true"></span> Agregar
                </button> <br>
                <button name="BotonEditar" class="btn btn-success" data-toggle="modal" data-target="#ModalModificar" disabled>
                    <span class="fa fa-pencil" aria-hidden="true"></span> Editar
                </button> <br>
                <button name="BotonEliminar" class="btn btn-danger" id="Eliminar" disabled>
                    <span class="fa fa-trash" aria-hidden="true"></span> Editar
                </button>
            </div> <!--botones de agregar, eliminar y editar -->
        </div>
    </div>
    <%@include file="../Modals/modalAgregar.jsp" %>
    <%@include file="../Modals/modalModificar.jsp" %>
    <script type="text/javascript" src="./js/jquery-3.2.1.min.js"></script>
    <script type="text/javascript" src="./js/popper.js"></script>
    <script type="text/javascript" src="./js/bootstrap.min.js"></script>
    <script type="text/javascript" src="./js/datatables.min.js"></script>
    <script type="text/javascript" src="./js/bootbox.min.js"></script>
    <script type="text/javascript" src="./js/main.js"></script>
</body>
</html>

tablaEmpleados.jsp:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<jsp:include page="../app/modulo/EmpleadosServlet.do" />
<!DOCTYPE html>
<table class="table table-hover" id="tablaEmpleados">
    <thead>
        <tr>
            <td>Nombre</td>
            <td>Telefono</td>
            <td>CURP</td>
            <td>Correo</td>
        </tr>
    </thead>
    <tbody id="cuerpo">
        <c:forEach items="${Empleado}" var="item">
            <tr class="fila">
                <td class="data nombre">${item.nombre}</td>
                <td class="data telefono">${item.telefono}</td>
                <td class="data curp">${item.curp}</td>
                <td class="data correo">${item.correo}</td>
            </tr>
        </c:forEach>
    </tbody>
</table>

modalAgregar.jsp:

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<div id="ModalAgregar" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <!-- Modal content-->
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Agregar empleado</h4>
            </div>
            <div class="modal-body">
                <form id="Agregar">
                    <input type="hidden" name="event" id="evm" value="1">
                    <div class="input-group">
                        <span class="input-group-addon"><i class="fa fa-user" aria-hidden="true"></i></span>
                        <input type="text" class="form-control nombre" name="nombre">
                    </div>
                    <div class="input-group">
                        <span class="input-group-addon"><i class="fa fa-phone" aria-hidden="true"></i></span>
                        <input type="text" class="form-control telefono" name="telefono">
                    </div>
                    <div class="input-group">
                        <span class="input-group-addon"><i class="fa fa-address-card" aria-hidden="true"></i></span>
                        <input type="text" class="form-control curp" name="curp">
                    </div>
                    <div class="input-group">
                        <span class="input-group-addon"><i class="fa fa-envelope-o" aria-hidden="true"></i></span>
                        <input type="text" class="form-control correo" name="correo">
                    </div>
                    <div class="input-group">
                        <span class="input-group-addon"><i class="fa fa-send" aria-hidden="true"></i></span>
                        <input type="submit" class="form-control" name="submit" value="Agregar empleado">
                    </div>
                </form>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
            </div>
        </div>

    </div>
</div>

modalModificar.jsp:

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<div id="ModalModificar" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <!-- Modal content-->
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Modificar empleado</h4>
            </div>
            <div class="modal-body">
                <form id="Modificar">
                    <input type="hidden" name="event" value="2">
                    <div class="input-group">
                        <span class="input-group-addon"><i class="fa fa-user" aria-hidden="true"></i></span>
                        <input type="text" class="form-control nombre" name="nombre">
                    </div>
                    <div class="input-group">
                        <span class="input-group-addon"><i class="fa fa-phone" aria-hidden="true"></i></span>
                        <input type="text" class="form-control telefono" name="telefono">
                    </div>
                    <div class="input-group">
                        <span class="input-group-addon"><i class="fa fa-address-card" aria-hidden="true"></i></span>
                        <input type="text" class="form-control curp" name="curp" disabled>
                    </div>
                    <div class="input-group">
                        <span class="input-group-addon"><i class="fa fa-envelope-o" aria-hidden="true"></i></span>
                        <input type="text" class="form-control correo" name="correo">
                    </div>
                    <div class="input-group">
                        <span class="input-group-addon"><i class="fa fa-send" aria-hidden="true"></i></span>
                        <input type="submit" class="form-control" name="submit" value="Modificar empleado">
                    </div>
                </form>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
            </div>
        </div>

    </div>
</div>

main.js:

$(document).ready(function () {
    var ExpRegular = /[[a-z]\s]+/i;
    var ExpRegularTel = /[0-9][0-9][0-9](-)[0-9](-)[0-9][0-9](-)[0-9][0-9](-)[0-9][0-9]/;
    var ExpRegularCurp = /[A-Z]{4}[0-9]{6}[A-Z]{6}[0-9]{2}/;
    var ExpRegularCorreo = /([a-z]|[0-9]|.|-|_)+@[a-z]+(.|[a-z])+/i;

    var tabla = $("#tablaEmpleados").DataTable();
    var nombre = "";
    var telefono = "";
    var curp = "";
    var correo = "";

    bootbox.setLocale("es");

    $('#tablaEmpleados tbody').on('click', 'tr', function () {
        nombre = tabla.row(this).data()[0];
        telefono = tabla.row(this).data()[1];
        curp = tabla.row(this).data()[2];
        correo = tabla.row(this).data()[3];
        $("button").each(function (index) {
            $(this).removeAttr("disabled");
        });


        //$(".nombre").get(1).val(nombre);
        //$(".telefono").get(1).val(telefono);
        //$(".curp").get(1).val(curp);
        //$(".correo").get(1).val(correo);
        $("#info").empty();
        $("#info").append("<p>Nombre: " + nombre + "</p><br><p>Telefono: " + telefono + "</p><br><p>CURP: " +
                curp + "</p><br><p> Correo: " + correo + "</p>");
    });

    $('form').submit(function (event) {
        var index = parseInt($(""));
        event.preventDefault();
        if (ExpRegular.exec($(".nombre").get()).val() === null || ExpRegular.exec($(".nombre").val()) !== $(".nombre").val()) {
            bootbox.alert({
                title: "Error",
                size: "large",
                message: "Error: El nombre no es valido"
            });
        } else if (ExpRegularTel.exec($(".telefono").val()) === null && ExpRegularTel.exec($(".telefono").val()) !== $(".telefono").val()) {
            bootbox.alert({
                title: "Error",
                size: "large",
                message: "Error, el telefono no es valido.<br> Recuerde que el formato debe ser: xxx-x-xx-xx-xx"
            });
        } else if (ExpRegularCurp.exec($(".curp").val()) !== null && ExpRegularCurp.exec($(".curp").val()) === $(".curp").val()) {
            bootbox.alert({
                title: "Error",
                size: "large",
                message: "Error, la CURP no es valido.<br> Recuerde que el formato debe ser: ABCD123456EFGHIJ78"
            });
        } else if (ExpRegularCorreo.exec($(".correo").val()) !== null && ExpRegularCorreo.exec($(".correo").val()) === $(".correo").val()) {
            bootbox.alert({
                title: "Error",
                size: "large",
                message: "Error, el correo no es valido."
            });
        } else {
            $.ajax({
                url: "app/modulo/EmpleadosServlet.do",
                data: $(this).serialize(),
                type: "POST",
                success: function (data) {
                    bootbox.alert({
                        title: "Exito",
                        size: "small",
                        message: data
                    });
                },
                error: function (x, estado, exception) {
                    bootbox.alert({
                        title: "Error",
                        size: "small",
                        message: estado + " <br>" + exception
                    });
                }
            });
        }
    });

    $("#Eliminar").click(function () {
        bootbox.confirm({
            title: "Confirmación requerida",
            size: "large",
            message: "¿Realmente quiere eliminar a este empleado? <br> Nombre: "
                    + nombre + "<br> Telefono: " + telefono + "<br> CURP: " + curp + "<br> Correo: " + correo,
            callback: function (resultado) {
                if (resultado) {
                    $.ajax({
                        url: "app/modulo/EmpleadosServlet.do",
                        data: {
                            event: "1",
                            curp: curp
                        },
                        type: "POST",
                        success: function (data) {
                            bootbox.alert({
                                title: "Exito",
                                size: "small",
                                message: data
                            });
                        },
                        error: function (x, estado, exception) {
                            bootbox.alert({
                                title: "Error",
                                size: "small",
                                message: estado + " <br>" + exception
                            });
                        }
                    });
                }
            }
        });
    });
});

1 个答案:

答案 0 :(得分:1)

缺少bootstrap javascript

尝试在下方添加此CDN版本以查看其是否有效: (也值得尝试将模态保持在相同的.jsp(不导入/包含它)

modCount