K
K
Kirill Strokin2021-10-28 16:21:29
JavaScript
Kirill Strokin, 2021-10-28 16:21:29

Negative input type="number". How to do form validation in js?

Good afternoon. I'm trying to write pure JS validation for input type="number". But when submitting the form, the alert with the message does not pop up and the letter is sent
. The code is like this

let num = document.forms[0]["number"].value;
if (num <= 0){
    alert("Количество не может быть меньше 1");
    return false;}


Tell me what I'm doing wrong?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
W
weranda, 2021-10-28
@weranda

Look in the console for errors. Everything works like this:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <form name="myForm" action="send.php" method="POST" onsubmit="return validate()">
        <input class="name" type="text" name="name" placeholder="Ваше имя"><br>
        <input class="email" type="email" name="email" placeholder="Ваш email"><br>
        <input type="number" name="number" placeholder="Your number"><br>
        <input class="theme" type="text" name="theme" placeholder="Тема сообщения"><br>
        <input class="submit" type="submit" name="submit" value="Send">
    </form>
    <script>
    function validate() {

        let name_ = Number(document.forms[0]["name"].value);
        if (name_ === 2) {
            alert("Поле \'Ваше имя\' не может быть пустым");
            return false;
        }

        let email = document.forms[0]["email"].value;
        if (email === "") {
            alert("Поле \'Email\' не может быть пустым");
            return false;
        }

        let num = document.forms[0]["number"].value;

        if (num <= 0) {
            alert("<0");
            return false;
        }
    }
    </script>
</body>

</html>

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question