Javascript中未经验证的表单提交
我正在为我的Javascript课程做一个编程作业。我们需要创建一个包含验证规则的简单表单。我在实际验证方面遇到了很多问题,因为当我通过元素的ID访问元素时,验证似乎不起作用。表单不应提交,如果验证失败,则应显示错误消息,但由于某些原因,我无法使其工作 我搜索了与此主题相关的其他帖子: ... 但我似乎还是不能让它工作。 非常感谢您的帮助 外部:Javascript中未经验证的表单提交,javascript,forms,Javascript,Forms,我正在为我的Javascript课程做一个编程作业。我们需要创建一个包含验证规则的简单表单。我在实际验证方面遇到了很多问题,因为当我通过元素的ID访问元素时,验证似乎不起作用。表单不应提交,如果验证失败,则应显示错误消息,但由于某些原因,我无法使其工作 我搜索了与此主题相关的其他帖子: ... 但我似乎还是不能让它工作。 非常感谢您的帮助 外部: Sam H-作业2 函数焦点(){ var firstName=document.getElementById('firstName'); firs
Sam H-作业2
函数焦点(){
var firstName=document.getElementById('firstName');
firstName.focus();
}
函数验证(){
var误差=”;
var firstName=document.getElementById(“firstName”).value;
var lastName=document.getElementById(“lastName”).value;
var email=document.getElementById(“email”).value;
var confirmEmail=document.getElementById(“confirmEmail”).value;
var password=document.getElementById(“密码”).value;
var生日=document.getElementById(“生日”).value;
var country=document.getElementById(“国家”).value;
var city=document.getElementById(“城市”).value;
如果(firstName==“”){
errors=errors+“请输入您的名字。”;
}
如果(lastName=”“){
errors=errors+“请输入您的姓氏。”;
}
如果(电子邮件=”){
错误=错误+“请输入您的电子邮件。”;
}
如果(确认邮件==“”){
错误=错误+“请确认您的电子邮件。”;
}
如果(密码==“”){
错误=错误+“请输入您的密码。”;
}
如果(生日==“”){
错误=错误+“请输入您的生日。”;
}
如果(电子邮件!=确认邮件){
错误=错误+“电子邮件不匹配。”;
}
var cityLength=city.length;
如果(城市长度>12){
errors=errors+“您的城市长度必须少于12个字符。”;
}
如果(errors.length>0){
document.getElementById(“errortitle”).innerHTML=“Errors:”;
document.getElementById(“错误”).innerHTML=”“+错误;
返回false;
}否则{
返回true;
}
}
/*如果(firstName.value=“”||
lastName.value=“”||
email.value=“”||
confirmEmail.value=“”||
password.value=“”){
警告(“请填写所有必填字段”);
返回false;
} */
*名字:
*姓氏:
*电邮:
*确认电子邮件:
*密码:
*生日:
昵称:
性别:
女性
男性
国家
城市:
代码末尾有一个多余的}。lastName字段的id设置为“last”,这会导致它找不到它。此外,您的变量包含字段的值,而不是字段本身,因此不为它们定义焦点方法。城市字段的地址不正确 输入标记也没有结束标记,但大多数浏览器都会忽略它 如果修复了上述错误,代码将正常工作
<script>
function focus() {
var firstName = document.getElementById('firstName');
firstName.focus();
}
function validation() {
var errors = "";
var firstName = document.getElementById("firstName");
var lastName = document.getElementById("last");
var email = document.getElementById("email");
var confirmEmail = document.getElementById("confirmEmail");
var password = document.getElementById("password");
var birthday = document.getElementById("birthday");
var country = document.getElementById("country");
var city = document.getElementById("city");
if (firstName.value == "") {
firstName.focus();
errors = errors + "Please enter your first name. ";
}
if (lastName.value = "") {
lastName.focus();
errors = errors + "Please enter your last name. ";
}
if (email.value = "") {
email.focus();
errors = errors + "Please enter your email. ";
}
if (confirmEmail.value == "") {
confirmEmail.focus();
errors = errors + "Please confirm your email. ";
}
if (password.value == "") {
password.focus();
errors = errors + "Please enter your password. ";
}
if (birthday.value == "") {
birthday.focus();
errors = errors + "Please enter your birthday. ";
}
if (email.value != confirmEmail.value) {
email.focus();
errors = errors + "Emails do not match. ";
}
var cityLength = document.getElementById('city').value.length;
if (cityLength > 12) {
errors = errors + "Your city length must be less than 12 characters. ";
}
if (errors.length > 0) {
document.getElementById("errortitle").innerHTML = "Errors:";
document.getElementById("errors").innerHTML = " " + errors;
return false;
} else {
return true;
}
}
</script>
函数焦点(){
var firstName=document.getElementById('firstName');
firstName.focus();
}
函数验证(){
var误差=”;
var firstName=document.getElementById(“firstName”);
var lastName=document.getElementById(“last”);
var email=document.getElementById(“电子邮件”);
var confirmEmail=document.getElementById(“confirmEmail”);
var password=document.getElementById(“密码”);
var生日=document.getElementById(“生日”);
var country=document.getElementById(“国家”);
var city=document.getElementById(“城市”);
如果(firstName.value==“”){
firstName.focus();
errors=errors+“请输入您的名字。”;
}
如果(lastName.value=”“){
focus();
errors=errors+“请输入您的姓氏。”;
}
如果(email.value=”“){
email.focus();
错误=错误+“请输入您的电子邮件。”;
}
如果(confirmEmail.value==“”){
confirmEmail.focus();
错误=错误+“请确认您的电子邮件。”;
}
如果(password.value==“”){
password.focus();
错误=错误+“请输入您的密码。”;
}
如果(birthday.value==“”){
生日。焦点();
错误=错误+“请输入您的生日。”;
}
if(email.value!=confirmEmail.value){
email.focus();
错误=错误+“电子邮件不匹配。”;
}
var cityLength=document.getElementById('city').value.length;
如果(城市长度>12){
errors=errors+“您的城市长度必须少于12个字符。”;
}
如果(errors.length>0){
document.getElementById(“errortitle”).innerHTML=“Errors:”;
document.getElementById(“错误”).innerHTML=”“+错误;
返回false;
}否则{
返回true;
}
}
如果您可以通过一个链接提供您的示例,那将很有帮助:到底是什么问题?@matyas请不要建议人们将代码发布到外部站点,因为这些链接将来可能会失效。将所有代码都放在这里始终是最好的方法。您必须在提交时运行验证功能。请清理您的代码。您的HTML无效<代码>元素没有结束标记。另外,缩进代码以提高可读性。这将帮助您和其他人在需要时(比如现在)对代码进行故障排除。修复了前面提到的错误,验证仍然无效
<script>
function focus() {
var firstName = document.getElementById('firstName');
firstName.focus();
}
function validation() {
var errors = "";
var firstName = document.getElementById("firstName");
var lastName = document.getElementById("last");
var email = document.getElementById("email");
var confirmEmail = document.getElementById("confirmEmail");
var password = document.getElementById("password");
var birthday = document.getElementById("birthday");
var country = document.getElementById("country");
var city = document.getElementById("city");
if (firstName.value == "") {
firstName.focus();
errors = errors + "Please enter your first name. ";
}
if (lastName.value = "") {
lastName.focus();
errors = errors + "Please enter your last name. ";
}
if (email.value = "") {
email.focus();
errors = errors + "Please enter your email. ";
}
if (confirmEmail.value == "") {
confirmEmail.focus();
errors = errors + "Please confirm your email. ";
}
if (password.value == "") {
password.focus();
errors = errors + "Please enter your password. ";
}
if (birthday.value == "") {
birthday.focus();
errors = errors + "Please enter your birthday. ";
}
if (email.value != confirmEmail.value) {
email.focus();
errors = errors + "Emails do not match. ";
}
var cityLength = document.getElementById('city').value.length;
if (cityLength > 12) {
errors = errors + "Your city length must be less than 12 characters. ";
}
if (errors.length > 0) {
document.getElementById("errortitle").innerHTML = "Errors:";
document.getElementById("errors").innerHTML = " " + errors;
return false;
} else {
return true;
}
}
</script>