我正在尝试使用javascript验证我的表单。我希望如果用户将输入字段留空,那么他将看到警报,表单将不会将数据提交到php文件。不幸的是,下面的代码对我不起作用。 javascript没有在表单提交上执行。
的javascript
<script>
function MyForm() {
var x =document.forms["myForm"]["name"].value;
if (x == null || x == "") {alert("Name must be filled out");
return false;
}
{ var y=document.forms["myForm"]["age"].value;
if (y == null || y == "") {
alert("age must be filled out");
return false;
}
}
形式
<form name="myForm"action="game.php"onsubmit="return myForm()"method="post">
Name: <input type="text" name="name">
Age: <input type="text" name="age">
<input type="submit" value="Submit">
</form>
任何帮助都非常适合。
答案 0 :(得分:2)
你的代码中有一些拼写错误。找到它们的一个好方法是在浏览器的开发人员工具中使用控制台(尝试按F12)。
更改
{ var y=document.forms["myForm"]["age"].value;
到
var y=document.forms["myForm"]["age"].value; //removed the opening curly brace
并在您的表单中更改:
onsubmit="return myForm()"
到
onsubmit="return MyForm()"
答案 1 :(得分:1)
您必须首先调用myForm函数才能使其正常工作
function MyForm() {
var x =document.forms["myForm"]["name"].value;
if (x == null || x == "")
{alert("Name must be filled out");
return false;
}
var y=document.forms["myForm"]["age"].value;
if (y == null || y == "") {
alert("age must be filled out");
return false;
}
}
MyForm(); // invoke it here
答案 2 :(得分:1)
你的javascript方法中有2个拼写错误。尝试以下方法
function MyForm() {
var x = document.forms["myForm"]["fname"].value;
if (x == null || x == "") {
alert("Name must be filled out");
return false;
}
var y=document.forms["myForm"]["age"].value;
if (y == null || y == "") {
alert("age must be filled out");
return false;
}
}