Модал не закрывается после нажатия кнопки - PullRequest
0 голосов
/ 24 ноября 2018

я пытаюсь построить модал с блоком try-catch, поэтому, если все правильно и правильно введено в форму, модал должен быть закрыт

Это функция входа в систему, мне интересно, почему $('#dialog').modal('hide'); не работает

  <script>
        function login() {

            var kontakt = new Kontakt();
            kontakt.name = document.getElementById('name').value;
            kontakt.email = document.getElementById('email').value;
            kontakt.plz = document.getElementById('plz').value;
            kontakt.ort = document.getElementById('ort').value;
            kontakt.strasse = document.getElementById('strasse').value;




try {
    kontakt.pruefe();  
}
catch(err) {
    return window.alert(err.message);   
} 

kontakteSpeicher.neuerKontakt(kontakt);}
$('#dialog').modal('hide');
    </script>



    </head>

Это модал

 <div class="container">
                <h2></h2>
                <button type="button" class="btn btn-danger" data-toggle="modal" data-target="#dialog">
                    Login-Dialog öffnen
                </button>

                <!-- The Modal -->
                <div class="modal" id="dialog">
                    <div class="modal-dialog">
                        <div class="modal-content">
                            <div class="modal-header">
                                <h4 class="modal-title">Login (im header)</h4>
                                <button type="button" class="close" data-dismiss="modal">&times;</button>
                            </div>

                            <div class="modal-body">
                                <div class="container">
                                    <p>im body:</p>
                                    <form>
                                        <div class="form-group row">
                                                    <label for="name" class="col-sm-2 col-form-label">Name</label>
                                                    <div class="col-sm-10">
                                                        <input type="text" class="form-control" placeholder="Name" id="name">
                                                    </div>
                                        </div>
                                        <div class="form-group row">
                                            <label for="email" class="col-sm-2 col-form-label">E-Mail</label>
                                            <div class="col-sm-10">
                                                <input type="email" class="form-control" placeholder="E-Mail" id="email">
                                            </div>
                                        </div>
                                        <div class="form-group row">
                                            <label for="plz" class="col-sm-2 col-form-label">PLZ</label>
                                            <div class="col-sm-10">
                                                <input type="number" class="form-control" placeholder="PLZ" id="plz">
                                            </div>
                                        </div>
                                        <div class="form-group row">
                                                <label for="ort" class="col-sm-2 col-form-label">Ort</label>
                                                <div class="col-sm-10">
                                                    <input type="text" class="form-control" id="ort" placeholder="Ort">
                                                </div>
                                            </div>
                                        <div class="form-group row">
                                            <label for="strasse" class="col-sm-2 col-form-label">Strasse und Hausnummer</label>
                                            <div class="col-sm-10">
                                                <input type="text" class="form-control" id="strasse" placeholder="Strasse und Hausnummer">
                                            </div>
                                        </div>
                                    </form>
                                </div>
                            </div>

                            <div class="modal-footer">
                                <button type="button" class="btn btn-primary btn-block" onclick="login()">Speichern</button>
                            </div>
                        </div>
                    </div>
                </div>

            </div>

Ответы [ 2 ]

0 голосов
/ 24 ноября 2018

Похоже, что вы закрываете свою функцию входа в систему перед вызовом, чтобы закрыть модальный режим.Попробуйте изменить это:

kontakteSpeicher.neuerKontakt(kontakt);}
$('#dialog').modal('hide');

на это:

kontakteSpeicher.neuerKontakt(kontakt);
$('#dialog').modal('hide'); }
0 голосов
/ 24 ноября 2018

Единственная проблема, с которой вы столкнулись, состоит в том, что оператор $ ("# dialog"). Modal ('hide') не находится внутри тела вашей функции входа в систему.Это должно работать.

function login() {

        var kontakt = new Kontakt();
        kontakt.name = document.getElementById('name').value;
        kontakt.email = document.getElementById('email').value;
        kontakt.plz = document.getElementById('plz').value;
        kontakt.ort = document.getElementById('ort').value;
        kontakt.strasse = document.getElementById('strasse').value;




try {
    kontakt.pruefe();  
}
 catch(err) {
    return window.alert(err.message);   
} 

kontakteSpeicher.neuerKontakt(kontakt);
$('#dialog').modal('hide');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...