带Javascript的表单验证-不工作
我有以下表单,使用HTML和Javascript验证完成带Javascript的表单验证-不工作,javascript,html,forms,Javascript,Html,Forms,我有以下表单,使用HTML和Javascript验证完成 var submitOK=true; function validate(){ submitOK=true; checkName(); checkSurname(); checkCourse(); checkDate(); checkEmail(); if(submitOK == false) { return false;} } function checkName() { var n
var submitOK=true;
function validate(){
submitOK=true;
checkName();
checkSurname();
checkCourse();
checkDate();
checkEmail();
if(submitOK == false) {
return false;}
}
function checkName() {
var name = document.getElementById("name");
if(myform.name.value.length==0)
{
document.getElementById("checkname").innerHTML="Please, enter a valid name";
submitOK=false;
}
}
(此处填写完整的代码)
必须填写课程、日期、姓名、姓氏和电子邮件。我不知道为什么我的代码是错误的,以及如何修复它
-如果其中一个字段不完整,我希望出现一条错误消息。现在,即使其中一个表单未完成,表单也会运行并工作
-格式正确的电子邮件(不带正则表达式)
提前感谢!:) 当验证通过时,您需要返回true,以便进行更改
if(submitOK == false) {
return false;}
到
当验证通过时,您需要返回true,以便进行更改
if(submitOK == false) {
return false;}
到
如果您只需要确保所有字段都已填充,为什么不在输入类型上使用required关键字呢。
对于下拉列表,您可以禁用选择选项,这样您就不需要检查用户是否选择了默认值。如果您只需要确保所有字段都已填充,为什么不在您的输入类型上使用required关键字呢。
对于下拉列表,您可以禁用选择选项,这样您就不需要检查用户是否选择了默认值。我稍微简化了您的代码。这对我有用。要记住的关键一点是,提交函数必须返回true才能提交,返回false才能停止提交
var submitOK=true;
function validate(){
submitOK=true;
checkName();
checkSurname();
checkCourse();
checkDate();
checkEmail();
return submitOK;
}
function checkName() {
if( document.getElementById("name").value.length==0)
{
document.getElementById("checkname").innerHTML="Please, enter a valid name";
submitOK=false;
}
}
function checkSurname() {
if(document.getElementById("surname").value.length==0)
{
document.getElementById("checksurname").innerHTML="Please, enter a valid surname";
submitOK=false;
}
}
function checkEmail() {
if(document.getElementById("email").value.length==0)
{
document.getElementById("checkemail").innerHTML="Please, enter an email";
submitOK=false;
}
}
function checkCourse() {
if(document.getElementById("course").selectedIndex < 1 ) {
document.getElementById("checkcourse").innerHTML="Please, select a course";
submitOK=false;
}
}
function checkDate() {
if(document.getElementById("date").selectedIndex < 1) {
document.getElementById("checkdate").innerHTML="Please, select a date";
submitOK=false;
}
}
var submitOK=true;
函数验证(){
submitOK=true;
checkName();
check姓氏();
checkCourse();
checkDate();
检查电子邮件();
返回submitOK;
}
函数checkName(){
if(document.getElementById(“name”).value.length==0)
{
document.getElementById(“checkname”).innerHTML=“请输入有效名称”;
submitOK=false;
}
}
函数check姓氏(){
if(document.getElementById(“姓氏”).value.length==0)
{
document.getElementById(“CheckName”).innerHTML=“请输入有效的姓氏”;
submitOK=false;
}
}
函数checkEmail(){
if(document.getElementById(“email”).value.length==0)
{
document.getElementById(“checkemail”).innerHTML=“请输入电子邮件”;
submitOK=false;
}
}
函数checkCourse(){
if(document.getElementById(“课程”).selectedIndex<1){
document.getElementById(“checkcourse”).innerHTML=“请选择一门课程”;
submitOK=false;
}
}
函数checkDate(){
if(document.getElementById(“日期”).selectedIndex<1){
document.getElementById(“checkdate”).innerHTML=“请选择一个日期”;
submitOK=false;
}
}
我简化了您的代码。这对我有用。要记住的关键一点是,提交函数必须返回true才能提交,返回false才能停止提交
var submitOK=true;
function validate(){
submitOK=true;
checkName();
checkSurname();
checkCourse();
checkDate();
checkEmail();
return submitOK;
}
function checkName() {
if( document.getElementById("name").value.length==0)
{
document.getElementById("checkname").innerHTML="Please, enter a valid name";
submitOK=false;
}
}
function checkSurname() {
if(document.getElementById("surname").value.length==0)
{
document.getElementById("checksurname").innerHTML="Please, enter a valid surname";
submitOK=false;
}
}
function checkEmail() {
if(document.getElementById("email").value.length==0)
{
document.getElementById("checkemail").innerHTML="Please, enter an email";
submitOK=false;
}
}
function checkCourse() {
if(document.getElementById("course").selectedIndex < 1 ) {
document.getElementById("checkcourse").innerHTML="Please, select a course";
submitOK=false;
}
}
function checkDate() {
if(document.getElementById("date").selectedIndex < 1) {
document.getElementById("checkdate").innerHTML="Please, select a date";
submitOK=false;
}
}
var submitOK=true;
函数验证(){
submitOK=true;
checkName();
check姓氏();
checkCourse();
checkDate();
检查电子邮件();
返回submitOK;
}
函数checkName(){
if(document.getElementById(“name”).value.length==0)
{
document.getElementById(“checkname”).innerHTML=“请输入有效名称”;
submitOK=false;
}
}
函数check姓氏(){
if(document.getElementById(“姓氏”).value.length==0)
{
document.getElementById(“CheckName”).innerHTML=“请输入有效的姓氏”;
submitOK=false;
}
}
函数checkEmail(){
if(document.getElementById(“email”).value.length==0)
{
document.getElementById(“checkemail”).innerHTML=“请输入电子邮件”;
submitOK=false;
}
}
函数checkCourse(){
if(document.getElementById(“课程”).selectedIndex<1){
document.getElementById(“checkcourse”).innerHTML=“请选择一门课程”;
submitOK=false;
}
}
函数checkDate(){
if(document.getElementById(“日期”).selectedIndex<1){
document.getElementById(“checkdate”).innerHTML=“请选择一个日期”;
submitOK=false;
}
}
看一看:看一看:因为我不得不用Javascript来做。所需的关键字是HTML5,不是吗?因为我被迫使用Javascript。所需的关键字是HTML5,不是吗?因此,我从“课程”和“日期”下拉列表中选择选项,其余字段会显示错误消息,但页面刷新太快,无法读取。如果某些字段已填充,则会显示消息,但页面会刷新。因此,我从“课程”和“日期”下拉列表中选择选项,其余字段会显示错误消息,但页面刷新过快,无法读取。如果某些字段已填充,则会显示消息,但页面会刷新。使用正则表达式,这里有大量示例。在搜索中使用正则表达式、javascript和电子邮件。使用正则表达式,还有大量的例子。在搜索中使用正则表达式、javascript和电子邮件。