Автоматизация Отправка формы

Почему следующий код не работает?
Как только я нажимаю кнопку "Отправить", страница обновляется.
Я только начал изучать JavaScript, поэтому, если у вас есть какие-либо предложения по улучшению моих знаний о JS, не стесняйтесь поделитесь ими тоже.

<html>
    <head>
        <title>Form </title>
        <script src="form.js"></script>
    </head>
    <body>
        <form id="Form" onsubmit="return handleSubmit()">
            <input id="username" type="text" name="username ">
            <input id="password" type="password" name="password">
            <input id="submit" type="submit" name="Login">
        </form>
    </body>
</html>

function handleSubmit(){
    console.log("Hi");
    var form = document.getElementById("Form");
    console.log("va="+form.childern[0].value);
    var u = form.childern[0].value;
    if (form.childern[0].length==0 && isNaN(typeOf(u))==true){
        alert("Enter Correct username");
    } else {
        console.log("username = " +u);
    }
    return false;
}

person Shubh    schedule 06.04.2018    source источник
comment
Возможный дубликат Как предотвратить отправку формы?   -  person cabrerahector    schedule 06.04.2018


Ответы (2)


Вот правильный код, приятель. Просто небольшое изменение в js.

function handleSubmit(){
    console.log("Hi");
    var form = document.getElementById("Form");
    console.log("va="+form.children[0].value);
    var u = form.children[0].value;
  var a=typeof u;
    if (form.children[0].value.length!=0 &&isNaN(u))
{       
  console.log("username = " +u);
    } else {
        alert("Enter Correct username");
       
    }
    return false;
}
<html>
    <head>
        <title>Form </title>
        <script src="form.js"></script>
    </head>
    <body>
        <form id="Form" onsubmit="return handleSubmit()">
            <input id="username" type="text" name="username ">
            <input id="password" type="password" name="password">
            <input id="submit" type="submit" name="Login">
        </form>
    </body>
</html>

person Rahul    schedule 06.04.2018

  • Вы неправильно написали свойство children, вместо этого вы написали childern.
  • В условии оператора if вы сначала используете typeof, который, вероятно, вернет «строку», затем вы проверите, является ли это числом, но typeof всегда будет возвращать строку, содержащую тип переменной, которая может быть «строкой». , «число» и т. д., поэтому isNaN всегда будет ложным, и, наконец, он сравнивается с истинным, которое будет оцениваться как ложное, переходя к оператору else.

Я собираюсь добавить больше информации по мере их обнаружения! Надеюсь, это поможет на данный момент!

person Gustavo H. Ribeiro    schedule 06.04.2018