По какой-то причине моя форма не работает, она не дает мне какой-либо формы предупреждения, может ли кто-то привести меня в правильном направлении? Я потратил часы на поиски решения, и я ударил по кирпичной стене, попробовал то же самое и над. Может кто-то помочь и объяснить, что происходит, и где я ошибся?
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript src= " src="helpme.js" >
</script>
<link type="text/css" rel="stylesheet" href="Style.css"></link>
</head>
<body>
<div id="header">
</div>
<div id="main">
<form name="myForm" method="">
<p> Name</p>
<input id="fName" type="text" />
<input id="mName" type="text" size="3">
<input id="lName" type="text" "/>
<p>Age</p>
<input id="age" type="number" name="age" placeholder="20" />
<p>Email</p>
<input id="email" type="text" name="email"/>
<p>Gender</p>
<input id="gender" type="text" name="gender" size="7" placeholder="male"/>
<p> DOB:</p> <input type="date" name="DOB" id = "DOB"value="" size="10" placeholder="mm/dd/yyyy"/>
<p>Height</p>
<input type="number" id="height" name="height" placeholder="5" size="5"/>
<p>Weight</p>
<input type="number" id="weight" name="weight"/>
<p>Salary</p>
<input type="number" id="salary" name="salary"/>
<p>
<input type="submit" name="Submit" value="Submit" onClick="Validate()" />
</p>
</form>
</div>
</body>
</html>
Функция Java Script Validate() {
var test= true;
var fName = document.getElementById("fName").value;
var mName = document.getElementById("mName").value;
var lName = document.getElementById("lName").value;
if (first==""||last=="")
{
window.alert("Enter your full name");
test = false;
}
var age = document.getElementById("age").value;
if (age==null||age=="" || age<1 || age >100)
{
window.alert("Enter your age");
test = false;
}
var email = document.getElementById("email").value;
var at=x.indexOf("@");
var dot=x.lastIndexOf(".");
if (at<1 || dot<at+2 || dot+2>=email.length)
{
window.alert("Not a valid e-mail address");
test = false;
}
var sex = document.getElementById("gender").value;
if (sex!="M" && sex!="m" && sex!="Male" && sex!="male"
&& sex!="F" && sex!="f" && sex!="Female" && sex!="female")
{
window.alert("Enter your gender" +
"\nMale,M,male,m" + "\nFemale,F,female,f");
test = false;
}
var dob = document.getElementById("DOB").value;
if (dob ==null)
{
window.alert("Enter your date of birth as shown MM/DD/YYYY");
test = false;
}
var height = document.getElementById("height").value;
if (height==""||height<1)
{
window.alert("Enter your weight");
test = false;
}
var weight = document.getElementById("weight").value;
if (weight==""||weight<1 && weight>600)
{
window.alert("Enter your weight");
test = false;
}
var salary = document.getElementsById("salary").value;
if (isNaN(salary)|| salary> 999999.99|| salary<1 )
{
window.alert("Salary: Cannot Exceed $999999.99");
test = false;
}
}
Проверьте путь к файлу.js, независимо от того, доступен ли файл в том же каталоге или нет, и попробуйте приведенный ниже javascript (helpme.js): -
function Validate(){
var test= true;
var fName = document.getElementById("fName").value;
var mName = document.getElementById("mName").value;
var lName = document.getElementById("lName").value;
alert(fName);
if (first==""||last=="")
{
window.alert("Enter your full name");
test = false;
}
var age = document.getElementById("age").value;
if (age==null||age=="" || age<1 || age >100)
{
window.alert("Enter your age");
test = false;
}
var email = document.getElementById("email").value;
var at=x.indexOf("@");
var dot=x.lastIndexOf(".");
if (at<1 || dot<at+2 || dot+2>=email.length)
{
window.alert("Not a valid e-mail address");
test = false;
}
var sex = document.getElementById("gender").value;
if (sex!="M" && sex!="m" && sex!="Male" && sex!="male"
&& sex!="F" && sex!="f" && sex!="Female" && sex!="female")
{
window.alert("Enter your gender" +
"\nMale,M,male,m" + "\nFemale,F,female,f");
test = false;
}
var dob = document.getElementById("DOB").value;
if (dob ==null)
{
window.alert("Enter your date of birth as shown MM/DD/YYYY");
test = false;
}
var height = document.getElementById("height").value;
if (height==""||height<1)
{
window.alert("Enter your weight");
test = false;
}
var weight = document.getElementById("weight").value;
if (weight==""||weight<1 && weight>600)
{
window.alert("Enter your weight");
test = false;
}
var salary = document.getElementsById("salary").value;
if (isNaN(salary)|| salary> 999999.99|| salary<1 )
{
window.alert("Salary: Cannot Exceed $999999.99");
test = false;
}
}
Надеюсь, это поможет вам.
это была проблема с неопределенными переменными сначала и последними
Теперь его работы великолепны
Удачи!
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script>
function Validate() {
// var test= true;
var fName = document.getElementById("fName").value;
var mName = document.getElementById("mName").value;
var lName = document.getElementById("lName").value;
if (fName==""||lName=="")
{
window.alert("Enter your full name");
return false;
}
var age = document.getElementById("age").value;
if (age==null||age=="" || age<1 || age >100)
{
window.alert("Enter your age");
return false;
}
var email = document.getElementById("email").value;
var at=x.indexOf("@");
var dot=x.lastIndexOf(".");
if (at<1 || dot<at+2 || dot+2>=email.length)
{
window.alert("Not a valid e-mail address");
return false;
}
var sex = document.getElementById("gender").value;
if (sex!="M" && sex!="m" && sex!="Male" && sex!="male"
&& sex!="F" && sex!="f" && sex!="Female" && sex!="female")
{
window.alert("Enter your gender" +
"\nMale,M,male,m" + "\nFemale,F,female,f");
return false;
}
var dob = document.getElementById("DOB").value;
if (dob ==null)
{
window.alert("Enter your date of birth as shown MM/DD/YYYY");
return false;
}
var height = document.getElementById("height").value;
if (height==""||height<1)
{
window.alert("Enter your weight");
return false;
}
var weight = document.getElementById("weight").value;
if (weight==""||weight<1 && weight>600)
{
window.alert("Enter your weight");
return false;
}
var salary = document.getElementsById("salary").value;
if (isNaN(salary)|| salary> 999999.99|| salary<1 )
{
window.alert("Salary: Cannot Exceed $999999.99");
return false;
}
return true;
}
</script>
<link type="text/css" rel="stylesheet" href="Style.css"></link>
</head>
<body>
<div id="header">
</div>
<div id="main">
<form name="myForm" method="POST" onsubmit="Validate()">
<p> Name</p>
<input id="fName" type="text" />
<input id="mName" type="text" size="3">
<input id="lName" type="text" "/>
<p>Age</p>
<input id="age" type="number" name="age" placeholder="20" />
<p>Email</p>
<input id="email" type="text" name="email"/>
<p>Gender</p>
<input id="gender" type="text" name="gender" size="7" placeholder="male"/>
<p> DOB:</p> <input type="date" name="DOB" id = "DOB"value="" size="10" placeholder="mm/dd/yyyy"/>
<p>Height</p>
<input type="number" id="height" name="height" placeholder="5" size="5"/>
<p>Weight</p>
<input type="number" id="weight" name="weight"/>
<p>Salary</p>
<input type="number" id="salary" name="salary"/>
<p>
<input type="submit" name="Submit" value="Submit" />
</p>
</form>
</div>
</body>
</html>
Пожалуйста, используйте для этого событие onsubmit
<form onsubmit="Validate()">
Верните false, если проверка не прошла, не назначайте test = false, просто верните false.
function Validate() {
// var test= true;
var fName = document.getElementById("fName").value;
var mName = document.getElementById("mName").value;
var lName = document.getElementById("lName").value;
if (first==""||last=="")
{
window.alert("Enter your full name");
return false;
}
var age = document.getElementById("age").value;
if (age==null||age=="" || age<1 || age >100)
{
window.alert("Enter your age");
return false;
}
var email = document.getElementById("email").value;
var at=x.indexOf("@");
var dot=x.lastIndexOf(".");
if (at<1 || dot<at+2 || dot+2>=email.length)
{
window.alert("Not a valid e-mail address");
return false;
}
var sex = document.getElementById("gender").value;
if (sex!="M" && sex!="m" && sex!="Male" && sex!="male"
&& sex!="F" && sex!="f" && sex!="Female" && sex!="female")
{
window.alert("Enter your gender" +
"\nMale,M,male,m" + "\nFemale,F,female,f");
return false;
}
var dob = document.getElementById("DOB").value;
if (dob ==null)
{
window.alert("Enter your date of birth as shown MM/DD/YYYY");
return false;
}
var height = document.getElementById("height").value;
if (height==""||height<1)
{
window.alert("Enter your weight");
return false;
}
var weight = document.getElementById("weight").value;
if (weight==""||weight<1 && weight>600)
{
window.alert("Enter your weight");
return false;
}
var salary = document.getElementsById("salary").value;
if (isNaN(salary)|| salary> 999999.99|| salary<1 )
{
window.alert("Salary: Cannot Exceed $999999.99");
return false;
}
return true;
}
Вы можете изменить тип ввода с "submit" на кнопку, и он отлично работает.
Однако ваш JS-код вызывает некоторую ошибку, которую, я думаю, вы можете исправить. Первый и последний ключевые слова не определены.
Благодарю. Сообщите мне о любых других уточнениях.
<input type="button" name="Submit" value="Submit" onClick="Validate()" />