newbie
newbie

Reputation: 117

Validate a form with JavaScript

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.

Upvotes: 1

Views: 849

Answers (3)

Surya R Praveen
Surya R Praveen

Reputation: 3745

<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>

Upvotes: 0

kavin
kavin

Reputation: 1684

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/

Upvotes: 3

Oswald
Oswald

Reputation: 31685

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

Upvotes: 2

Related Questions