提交时未运行验证脚本

on submit not running validation script

本文关键字:验证 脚本 运行 提交      更新时间:2024-01-22

如果这个问题在其他地方得到了回答,我深表歉意(我之前检查过,但找不到答案)。

问题似乎是,当我单击提交时,验证脚本没有运行。

这是代码:

window.onload = function() {
	document.forms[0].onsubmit = validForm;
}
function validForm() {
	var allGood = true;
	var allTags = document.forms[0].getElementsByTagName("*");
	for (var i=0; i<allTags.length; i++) {
		if(!validTag(allTags[i])) {
			allGood = false;
		}
	}
	return allGood;
	function validTag(thisTag) {
		var outClass = "";
		var allClasses = thisTag.className.split(" ");
		for (var j=0; j<allClasses.length; j++) {
			outClass += validBasedOnClass(allClasses[j]) + " ";
		}
		thisTag.className = outClass;
		if (outClass.indexOf("invalid") > -1) {
			thisTag.focus();
			if (thisTag.nodeName == "INPUT") {
				thisTag.select();
			}
			return false;
		}
		return true;
		function validBasedOnClass(thisClass) {
			var classBack = "";
			switch(thisClass) {
				case "":
				case "invalid":
					break;
				case "reqd":
					if(allGood && thisTag.value == "") {
						classBack = "invalid";
					}
					classBack += thisClass;
					break;
				default:
					classBack += thisClass;
			}
			return classBack;
		}
	}
}
input.invalid {
	background-color: yellow;
	border: 1px solid red!important;
}
<form action="#" id=quote-generator>
  <input type=number step=1 placeholder=Distance id=distance class=reqd autofocus>
  <input type=text value="Running Cost" id=fuelPrice onFocus="this.blur()" readonly><span id=aside title="This value is calculated by the AA & is updated every 3 months">*</span>
</form>
<input type=submit value="Submit" form=quote-generator onclick="formQuote()">

这是一把小提琴。

您正试图调用未定义的函数formQuote,请将其更改为validForm,该函数用于验证表单

看看这个工作小提琴:https://jsfiddle.net/jrx5uhju/1/

代码:

  <input type=submit value="Submit" form=quote-generator onclick="validForm()">

ReferenceError:formQuote未定义

<input type=submit value="Submit" form=quote-generator onclick="validForm()">