возвращая и получая логическое значение - PullRequest
0 голосов
/ 25 сентября 2019

Мне нужна помощь с возвратом логического значения из моей функции validateItems ().И моя функция addPatrons () (которая вызывает функцию validateItems ()) должна получить логическое значение, возвращаемое validateItems (), и сохранить его в переменной с именем «isValid».Затем мне нужно проверить значение isValid, если оно истинно, а затем использовать $ ('myform'). Submit ();но если оно ложно, выведите «Patron Not Added!»в конце сообщения.

это то, что я имею до сих пор, оно не закончено, потому что я потерян.наверное, что-то простое, но я не понимаю.

var validateItems = function () {
        var firstName = $("firstname").value;
        $("firstname").focus(); //puts crusor on field

        if (firstName == "") {
            $("firstnameerror").innerHTML = "Enter First Name"
        }

        var lastName = $("lastname").value;

        if (lastName == "") {
            $("lastnameerror").innerHTML = "Enter Last Name"
        }

        var addpatron = function (validateItems) {
            var isValid =

                if () {
                    $("myform").submit();
                }
            else
            if () {
                $("endmessage").innerHTML = "Patron Not Added!"
            }
        }

Ответы [ 2 ]

0 голосов
/ 25 сентября 2019

Вы должны изменить свой элемент формы, как показано ниже

<form onsubmit="return validateAndSubmit();" >...</form>

И использовать функцию проверки, как показано ниже

validateAndSubmit(){
    let invalid = false;

    if(firstName == "") invalid = true;
    if(lastName == "") invalid = true;

    if(invalid) return false; // prevents the form from submitting
    else return true; // submits the form
}

РЕДАКТИРОВАТЬ 1

если вам не нужно отправлять форму буквально, а выполнять только операцию отправки, вы всегда можете вернуть false.

validateAndSubmit(){
    event.preventDefault();
    let invalid = false;

    if(firstName == "") invalid = true;
    if(lastName == "") invalid = true;

    if(!invalid){
        addPatron(); // perform add operation only when form is valid
    }
    return false;
}

Я внес следующие изменения.

  1. всегда возвращает false.
  2. Если недопустимый вызов функции addPatron ()
  3. Добавлено event.preventDefault () для прекращения всплытия дополнительных событий.
0 голосов
/ 25 сентября 2019
var validateItems = function() {
    var formValid = true
    var firstName = $("firstname").value;
    $("firstname").focus(); //puts crusor on field

    if(firstName == "") {
        $("firstnameerror").innerHTML = "Enter First Name"
        formValid = false
    }

    var lastName = $("lastname").value;

    if(lastName == "") {
        $("lastnameerror").innerHTML = "Enter Last Name"
        formValid = false
    }
    return formValid
}

var addpatron = function(validateItems) {
    var isValid = validateItems ()

    if (isValid ){
        $("myform").submit();
    }
    else if (){
        $("endmessage").innerHTML = "Patron Not Added!"
    }
}
...