我已经完成了登录页面。我希望我的js validateForm()函数在用户忘记用户名或密码时提醒用户。这是我目前的代码。
<!DOCTYPE html>
<html>
<head>
<script>
function validateForm()
{
var x=document.forms["myForm"]["username"].value;
if (x==null || x=="")
{
alert("Please enter username");
return false;
}
}
</script>
</head>
<div class="users form">
<br>
<form name="myform" action="Employees/login" onsubmit="return validateForm()" method="post" >
<?php
if (isset($error)) {
echo "<p style='color:red;font-size: 20px''>Username or Password is invalid. Please try again.</p>";
}?>
<p>Enter Username:
<input type="text" name="username" placeholder="username" style="height: 25px;width: 160px;"/></p>
<br><br>
<p>Enter Password:
<input type="password" name="password" placeholder="password" style="height: 25px;width: 160px;"/></p>
<br>
<input type="submit" style="height:35px;width:100px;font-size: 18px; align:center;" value="Sign in">
</form>
</div>
目前它不起作用,我认为问题在于代码行&#34; var x = document.forms [&#34; myForm&#34;] [&#34;用户名&#34; ]。价值;&#34;有人可以帮忙吗?
答案 0 :(得分:0)
问题是forms["myForm"]
,您使用的是大写F
,而实际上您的表单名称全部为小写,因此它应该是:
var x=document.forms["myform"]["username"].value;
// ^ lowercase
不是问题的一部分,但您可能更喜欢使用不显眼的JavaScript来设置onsubmit
处理程序而不是HTML属性:
window.onload = function(){
document.forms["myform"].onsubmit = validateForm;
};
现在,在validateForm
中,您可以使用this
而不是手动查找表单。
function validateForm()
{
var x = this["username"].value;
...
}