skornos
skornos

Reputation: 1

JavaScript form-validate without alert

What is wrong with my JavaScript? I want to show a errormessage next to the validate-field, but it doesnt show anything.

function validate() {
    if (document.myform.firstname.value == "") {
      document.getElementById('errorFirstname').innerHTML = "Error";
      return false;
    }
<!DOCTYPE html>
<html>

<head>
  <link rel="stylesheet" href="style.css">
  <script type="text/javascript" src="jsformular.js"></script>
  <meta charset="utf-8">
</head>

<body>
  <div id="formBody">
    <form name="myform" onsubmit="return validate()" method="post">
      <div class="formField">
        <div class="formFieldElement">
          <label for="firstname">Firstname:*</label>
        </div>
        <div class="formFieldElement">
          <input type="text" name="firstname">
        </div>
        <div class="formFieldElement formError" id="errorFirstname"></div>
      </div>
    </form>
</body>

</html>

Upvotes: 0

Views: 200

Answers (2)

Sam
Sam

Reputation: 128

You were missing the close bracket at the end of your function.

function validate() {
    if (document.myform.firstname.value == "") {
        document.getElementById('errorFirstname').innerHTML = "Error";
        return false;
    }
}

When I typed nothing in the field and hit the enter key, it showed the error message.

For finding issues like this in future, I would highly recommend using the developer console included with Chrome or Firefox. It immediately flagged the error for me with the following error message:

Uncaught SyntaxError: Unexpected end of input

Upvotes: 0

orexbros
orexbros

Reputation: 331

you lost } in validate function

function validate() {
    if (document.myform.firstname.value == "") {
      document.getElementById('errorFirstname').innerHTML = "Error";
      return false;
    }
}

it's work

Upvotes: 1

Related Questions