简体   繁体   中英

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.

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/

onSubmit="return validasi()"不会将任何参数传递给validasi() ,但是validasi()需要一个参数。

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM