JS 窗口.onload 没有加载我的函数



我有JS表单验证代码,必须为其编写HTML。不幸的是,出现了问题。你能告诉我我做错了什么吗?当我点击提交按钮时,并没有任何变化。

window.onload = init;
function validateForm() {
var user = document.forms["myForm"]["user"].value;
var password = document.forms["myForm"]["password"].value;
if (user == "") {
document.getElementById("poleUser").innerHTML = "<img src='./unchecked.gif'/> Proszę podać nazwisko";
} else {
document.getElementById("poleUser").innerHTML = "<img src='./checked.gif'/>";
}
if (password.lenght < 6) {
document.getElementById("poleHasla").innerHTML =
"<img src='./unchecked.gif'/> Hasło musi zawierać co najmnej 6 znaków";
} else {
document.getElementById("poleHasla").innerHTML = "<img src='./checked.gif'/>";
}
return false;
}
function init() {
document.getElementsByName('myForm').onsubmit = validateForm;
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form name="myForm">
Name: <input type="texts" name="user"><span id="poleUser"></span><br>
Password: <input type="password" name="password"><span id="poleHasla"></span>
<br>
<input type="submit" value="Submit">
</form>
</body>
</html>

您需要正确格式化函数调用

document.getElementsByName('myForm').onsubmit = validateForm;应该是document.getElementsByName('myForm').onsubmit = validateForm();

(注意末尾的括号(。

不过,我只想谈谈您是如何这样做的。在大多数情况下,静态分配onSubmit属性比动态分配更有意义。在这种情况下,似乎真的没有任何理由使用JS初始化属性。

相关内容

  • 没有找到相关文章

最新更新