0

I need to validate a form with Javascript

Here is my form:

<form name="login" action="#" method="POST" onSubmit="return validasi()">
<div class=log>My Id</div><div class=log><input type="text" name="username"></div>
<div class=log>Password</div><div class=log><input type="password"  name="sandi"></div>
<div class=log><input id="tombol" type="submit" value="Login" ></div>
</form>

...and the JS validation:

<script language="javascript">
function validasi(form){
  if (form.username.value == ""){
    alert("Anda belum mengisikan Username.");
    form.username.focus();
    return (false);
    }

  if (form.sandi.value == ""){
    alert("Anda belum mengisikan Password.");
    form.sandi.focus();
    return (false);
    }
  return (true);
    }
</script>

However, the JS is not working. Please help me to solve it.

0

3 Answers 3

3

You should sen your form as parameter to the function. You onsubmit code should be "return validasi(this)" Your HTML code should look like this.

<form name="login" action="#" method="POST" onSubmit="return validasi(this)">
<div class=log>My Id</div><div class=log><input type="text" name="username"></div>
<div class=log>Password</div><div class=log><input type="password"  name="sandi"></div>
<div class=log><input id="tombol" type="submit" value="Login" ></div>
</form>

http://jsfiddle.net/xensoft/x8Vdw/

Sign up to request clarification or add additional context in comments.

1 Comment

Glad it worked. And as sasi suggested user return true instead of return (true).
2

onSubmit="return validasi()" does not pass any parameters to validasi(), but validasi() requires a parameter.

Comments

0
<form name="login" action="#" method="POST" onSubmit="return validasi();">
<div class=log>My Id</div><div class=log><input type="text" name="username"></div>
<div class=log>Password</div><div class=log><input type="password"  name="sandi"></div>
<div class=log><input id="tombol" type="submit" value="Login" ></div>
</form>

    <script language="javascript">
    function validasi(form){

    var x = document.forms["login"]["username"].value;
    var y = document.forms["login"]["sandi"].value;

      if (x == null || x == ""){
        alert("Anda belum mengisikan Username.");
        return false;
        }

      if (y == null || y == ""){
        alert("Anda belum mengisikan Password.");
        return false;
        }
        }
    </script>

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.