当我点击提交并尝试检查表单验证时,我的html表单将清除
My html form clears when I hit submit and try to check for form validation
当我在chrome上运行代码并尝试一次输入一个输入时,当我点击提交时,我的所有输入都会清除!请帮帮我
Javascript代码:
function data_validation()
{
var sfn = form1.sfn.value;
var sln = form1.sln.value;
var sid = form1.sid.value;
var grad = form1.grad.value;
var RegExpText = /^[A-Z a-z]+$/;
var RegExpId = /^[0-9]{6}$/;
if (!RegExpText.test(sfn))
{
alert("Please enter your first name");
document.form.sfn.focus();
document.form.sfn.select();
return false;
}
else if(!RegExpText.test(sln))
{
alert("Please enter your last name");
document.form.sln.focus();
document.form.sln.select();
return false;
}
else if(!RegExpId.test(sid))
{
alert("Please enter a 6-digit Student ID");
document.form.sid.focus();
document.form.sid.select();
return false;
}
grad = -1;
for(i=0;i<document.client.grad.length; i++)
if(document.client.grad[i].checked)
{
grad = i;
var gradYear = document.client.grad[i].value;
}
if(grad == -1)
{
alert("Please select a grade level.");
return false;
}
else if ((form1.php.checked == "") && (document.client.js.checked == "") && (document.client.c.checked == ""))
{
alert("Please select at least one programming language.");
form1.php.focus();
return false;
}
else
{
alert("Thank you for submitting!");
return true;
}
}
这是HTML:我已经尝试过将return false添加到onSubmit中,我还尝试过许多其他事情。我的老师从来没有教过这个,我在网上找不到其他适合我的答案。
<!DOCTYPE html>
<html>
<head>
<link href="../common/stylesheet.css" type="text/css" rel="stylesheet">
<script type = "text/javascript" src="../common/validate.js"> </script>
<meta charset="utf-8">
<title>Form Validation</title>
</head>
<body>
<div id="container"><!-- Start wrapper -->
<div id="form_data">
<form name = "form1" id = "form1" onsubmit = "return data_validation();" method="post">
<table id="tbl_form_input">
<tr>
<td colspan="2">
<h1 style="text-align:center;">Student Skills Form</h1>
</td>
</tr>
<tr>
<td class="label">Student First Name:</td>
<td><input name="sfn" size="20" ></td>
</tr>
<tr>
<td class="label">Student Last Name:</td>
<td><input name="sln" size="20" ></td>
</tr>
<tr>
<td class="label">Student ID:</td>
<td><input name="sid" size="6" maxlength="6"></td>
</tr>
<tr>
<td class="label">Programming Languages</td>
<td>
<input type="checkbox" value="PHP" name="php">PHP<br />
<input type="checkbox" value="JS" name="js">JavaScript<br />
<input type="checkbox" value="C++" name="c">C++
</td>
</tr>
<tr>
<td class="label">Expected Date of Graduation:</td>
<td>
<input type="radio" name="grad" value="2015">2015<br />
<input type="radio" name="grad" value="2016">2016<br />
<input type="radio" name="grad" value="2017">2017<br />
<input type="radio" name="grad" value="2018">2018</td>
</tr>
<tr>
<td colspan="2" style="text-align:center;">
<input type="submit" name="s" value="Send Data">
<input type="reset" name="r" value="Clear Data">
</td>
</tr>
</table>
</form>
</div><!-- End form_data id formats -->
</div> <!-- end wrapper -->
</body>
</html>
将验证表单数据的过程和提交过程分开总是很好的。
在您的代码中,您可以一起执行这些操作。提交按钮的默认行为是上传所有表单数据并清除所有输入数据,这样它就可以正常工作。
要使其工作,您需要做的是将事件添加到这些字段中。您可以使用jQuery.blur()来执行此操作。
当字段失去焦点时,将触发.blur()方法。因此,这里是您应该触发验证过程的地方。
我希望它能有所帮助。
干杯,
更新:
将事件添加到需要验证的字段中。
例如,您需要对sln文本框进行一些验证。
$('input[name="sln"]').on("blur",function(){……您在此处的验证。。。。。。。。。。。});
顺便问一下,这些输入组件的ID在哪里???(他们只有名字……)
相关文章:
- 解析javascript表单验证器
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 自定义表单验证和提交
- Javascript表单验证的缺点
- Jquery的表单验证不起作用
- 语义ui表单验证:图像url
- jQuery表单验证适用于Mozilla和Internet Explorer,但不适用于Chrome或Safari
- JavaScript表单验证-“;“错误”;不按需要工作
- Mailchimp内联表单验证不适用于JS加载的HTML
- jQuery/JS获胜't在表单验证后重定向
- jquery表单验证复选框错误显示
- javascript表单验证-数值和密码
- 我想知道如何在javascript中进行表单验证
- jQuery表单验证(如果==“执行此操作”)仅适用于第一次输入
- 使用记录保存的消息进行表单验证
- 表单验证工作不正常,在不检查条目的情况下继续
- 如何对未知表单元素进行表单验证
- 使用ajax、php和mysql进行表单验证
- JS表单验证未发生
- 表单验证jsphp路径