Я создал проверку в javascript, которая определяет, есть ли пустое поле, и если его нет, теперь оно будет вставлено в базу данных, в которой я использую код PHP.

Но он ничего не делает. У меня проблемы с вставкой в базу данных, я думаю, потому что я поставил e.preventDefault(), я поставил e.preventDefault(), поэтому он не будет перезагружаться и показывать сообщения проверки, которые я создал.

(function() {

    document.querySelector('#addForm').onsubmit = function (e) {
    e.preventDefault();

    const name = document.querySelector('#name');
    const age = document.querySelector('#age');
    const email = document.querySelector('#email');

    //Check empty input fields
    if(!document.querySelector('#name').value){
        name.classList.add('is-invalid');
    }else{
        name.classList.remove('is-invalid');
    }

    if(!document.querySelector('#age').value)
    {
        age.classList.add('is-invalid');
    }else{
        age.classList.remove('is-invalid');
    }

    if(!document.querySelector('#email').value){
        email.classList.add('is-invalid');
    }else{
        email.classList.remove('is-invalid');
    }

   }

})();
1
thisisnotwakanda 23 Сен 2018 в 06:17

2 ответа

Лучший ответ

Вы должны только e.preventDefault(), если какой-либо из входов пуст, тогда пример обновлен:

document.querySelector('#addForm').onsubmit = function(e) {
    const name = document.querySelector('#name');
    const age = document.querySelector('#age');
    const email = document.querySelector('#email');
    let formIsInvalid = false;

    //Check empty input fields
    if (!name.value) {
        name.classList.add('is-invalid');
        formIsInvalid = true;
    } else {
        name.classList.remove('is-invalid');
    }

    if (!age.value) {
        age.classList.add('is-invalid');
        formIsInvalid = true;
    } else {
        age.classList.remove('is-invalid');
    }

    if (!email.value) {
        email.classList.add('is-invalid');
        formIsInvalid = true;
    } else {
        email.classList.remove('is-invalid');
    }

    if (formIsInvalid) {
      e.preventDefault();
    }
}
0
kfedorov91 23 Сен 2018 в 03:21

Вы должны добавить запрос AJAX для отправки значений на сервер

    var th = $(this);
    $.ajax({
        type: "POST",
        url: "handler.php", //Change
        data: th.serialize()
    }).done(function() {
        alert("Thank you!");
        setTimeout(function() {
            // Done Functions
            th.trigger("reset");
        }, 1000);
    });
0
Sanchonn 23 Сен 2018 в 03:37