Javascript Validation 不起作用 (onSubmit)
Javascript Validation not working (onSubmit)
提交时调用的Vaidation函数。
.HTML
<input type="submit" class="submit" value="submit">
.JS
window.load = function() {
var form = document.getElementById('form');
form.onsubmit = function(e) {
return validate(); // will be false if the form is invalid
}
}
验证()
function validate() {
var x = document.forms["form"]["fname"].value;
var y = document.forms["form"]["pname"].value;
var email = document.forms["form"]["email"].value;
var phone = document.forms["form"]["phone"].value;
var date = document.forms["form"]["date"].value;
var month = document.forms["form"]["month"].value;
var year = document.forms["form"]["year"].value;
return false;
alert('wass');
if (x==null || x == "" || isNaN(x) == false) {
alert("Check Name, It can't have numbers. You can use Roman numbers.");
return false;}
else if (y == null || y == "") {
alert("Picture Name must be filled out");
return false;
}
else if(email == '' || email.indexOf('@') == -1 || email.indexOf('.') == -1)
{
alert("Insert valid Email Address");
return false;
}
else if(phone == ''|| phone <1000000000 || phone >9999999999){
alert("Enter valid phone number");
return false;
}else if(date =='' || date<01 || date >31){
alert("Enter valid Date ");
return false;
}else if(month =='' || month<1 || month >12){
alert("Enter valid Month ");
return false;
}else if(year =='' || year<1800 || year >2016){
alert("Enter valid Year ");
return false;
}
//Function used to make colors red instead of individual codelines
function makeRed(inputDiv){
inputDiv.style.backgroundColor="#AA0000";
//inputDiv.parentNode.style.backgroundColor="#AA0000";
//inputDiv.parentNode.style.color="#FFFFFF";
}
//Function made to clean the divs when the validation is met.
function makeClean(inputDiv){
inputDiv.style.backgroundColor="#FFFFFF";
inputDiv.parentNode.style.backgroundColor="#FFFFFF";
inputDiv.parentNode.style.color="#000000";
}
}
表单仍会提交。可能出现的问题?
您需要使用以下方法阻止默认表单提交:
e.preventDefault();
将其放在验证函数上方。
然后在表单上使用 submit() 函数实际提交表单,前提是您的验证通过。
无论如何,您的表格正在提交。
您需要通过调用 e.preventDefault()
来阻止表单提交的默认功能。在您的情况下:
window.load = function () {
document.getElementById('form').onsubmit = function (e) {
if (!validate()) {
e.preventDefault();
}
}
}
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Recaptcha在IE7和IE8中不起作用
- Onsubmit功能不起作用
- 使用onsubmit函数的Javascript验证在IE8和IE7中不起作用
- 表单 onsubmit() 不起作用
- Javascript Validation 不起作用 (onSubmit)
- 多个函数的javascript onsubmit事件check dons'不起作用
- onsubmit属性不起作用
- Onsubmit不起作用
- 当函数被调用'submit'时,表单onSubmit不起作用
- ReactJS的onSubmit表单不起作用
- onSubmit在任何浏览器中都不起作用
- Onclick函数工作,但onsubmit不起作用
- onsubmit validateForm函数不起作用
- onblur和onsubmit功能不起作用,有人能帮我吗
- Javascript onsubmit 不起作用
- onsubmit =“函数()“;不起作用