JS window.onload не загружает мою функцию - PullRequest
1 голос
/ 28 апреля 2020

У меня есть JS код проверки формы и я должен написать HTML. К сожалению, что-то не так. Не могли бы вы сказать мне, что я делаю не так? Когда я нажимаю кнопку «Отправить», никаких изменений не происходит.

window.onload = init;

        function validateForm() {
            var user = document.forms["myForm"]["user"].value;
            var password = document.forms["myForm"]["password"].value;
            if (user == "") {
                document.getElementById("poleUser").innerHTML = "<img src='./unchecked.gif'/> Proszę podać nazwisko";
            } else {
                document.getElementById("poleUser").innerHTML = "<img src='./checked.gif'/>";
            }
            if (password.lenght < 6) {
                document.getElementById("poleHasla").innerHTML =
                    "<img src='./unchecked.gif'/> Hasło musi zawierać co najmnej 6 znaków";
            } else {
                document.getElementById("poleHasla").innerHTML = "<img src='./checked.gif'/>";
            }
            return false;
        }

        function init() {
            document.getElementsByName('myForm').onsubmit = validateForm;
        }
<!DOCTYPE html>
<html>

<head>

</head>

<body>

    <form name="myForm">
        Name: <input type="texts" name="user"><span id="poleUser"></span><br>
        Password: <input type="password" name="password"><span id="poleHasla"></span>
        <br>
        <input type="submit" value="Submit">
    </form>

</body>

</html>

1 Ответ

0 голосов
/ 28 апреля 2020

Вам необходимо правильно отформатировать вызовы функций

document.getElementsByName('myForm').onsubmit = validateForm; должно быть document.getElementsByName('myForm').onsubmit = validateForm();

(обратите внимание на круглые скобки в конце).

Тем не менее, я просто хотел бы обратиться к как вы делаете это. В большинстве случаев присвоение свойства onSubmit статически имеет больше смысла, чем динамическое. В этом случае, похоже, нет никакой причины для инициализации свойства с помощью JS.

...