javascript表单验证未按预期编写html代码

javascript表单验证未按预期编写html代码,javascript,forms,Javascript,Forms,我试图将javascript表单验证集成到我的一个宠物项目中,但遇到了以下问题: function validateForm() { if (this.firstname.value == "") { document.getElementById("testingline").innerHTML = '<div class="alert alert-danger alert-dismissable"><span>'+missing+'</span&

我试图将javascript表单验证集成到我的一个宠物项目中,但遇到了以下问题:

function validateForm() {

  if (this.firstname.value == "") {

    document.getElementById("testingline").innerHTML = '<div class="alert alert-danger alert-dismissable"><span>'+missing+'</span></div>';
    this.firstname.focus();

    return false;
  }

  return true;
}
函数validateForm(){
如果(this.firstname.value==“”){
document.getElementById(“testingline”).innerHTML=''+缺少+'';
this.firstname.focus();
返回false;
}
返回true;
}
如果省略了document.getElementById行,则不会在单击时提交表单,而会使用该行提交表单

我做错了什么

通过以下方式调用该函数:

 <form name="helperform" role="form" method="get" action="thanks.php"
    onsubmit="return validateForm(this)">

该行应添加到该行:

<div class="col-md-6 col-md-offset-3" id="testingline" name="testline"></div>

谢谢你的帮助


Daniel

DOM元素没有名为
html
的函数。您可以使用属性
innerHTML
设置其内容,如下所示:

document.missing_placeholder.innerHTML = '<div class="alert alert-danger alert-dismissable"><span>'+Du hast was vergessen+'</span></div>';
此外,您还没有显示如何定义调用的元素
document。缺少上面的占位符
,但是
document。缺少占位符
可能是错误的。如果使用
id
定义它,请改用
document.getElementById(“缺少占位符”)
(尽管
窗口。缺少占位符可能会起作用)


您经常使用的
html
函数来自附加库,通常是jQuery。但即使使用jQuery,要使用它,也必须首先为元素获取jQuery包装器:

$(/* document.missing_placeholder or whatever*/).html('<div class="alert alert-danger alert-dismissable"><span>Du hast was vergessen</span></div>');
$(/*document.missing_placeholder或其他*/).html('duhast was vergessen');

但同样,只有在使用jQuery时才可以使用它。

DOM元素没有名为
html
的函数。您可以使用属性
innerHTML
设置其内容,如下所示:

document.missing_placeholder.innerHTML = '<div class="alert alert-danger alert-dismissable"><span>'+Du hast was vergessen+'</span></div>';
此外,您还没有显示如何定义调用的元素
document。缺少上面的占位符
,但是
document。缺少占位符
可能是错误的。如果使用
id
定义它,请改用
document.getElementById(“缺少占位符”)
(尽管
窗口。缺少占位符可能会起作用)


您经常使用的
html
函数来自附加库,通常是jQuery。但即使使用jQuery,要使用它,也必须首先为元素获取jQuery包装器:

$(/* document.missing_placeholder or whatever*/).html('<div class="alert alert-danger alert-dismissable"><span>Du hast was vergessen</span></div>');
$(/*document.missing_placeholder或其他*/).html('duhast was vergessen');

但同样,只有在使用jQuery时才可以使用它。

DOM元素没有名为
html
的函数。您可以使用属性
innerHTML
设置其内容,如下所示:

document.missing_placeholder.innerHTML = '<div class="alert alert-danger alert-dismissable"><span>'+Du hast was vergessen+'</span></div>';
此外,您还没有显示如何定义调用的元素
document。缺少上面的占位符
,但是
document。缺少占位符
可能是错误的。如果使用
id
定义它,请改用
document.getElementById(“缺少占位符”)
(尽管
窗口。缺少占位符可能会起作用)


您经常使用的
html
函数来自附加库,通常是jQuery。但即使使用jQuery,要使用它,也必须首先为元素获取jQuery包装器:

$(/* document.missing_placeholder or whatever*/).html('<div class="alert alert-danger alert-dismissable"><span>Du hast was vergessen</span></div>');
$(/*document.missing_placeholder或其他*/).html('duhast was vergessen');

但同样,只有在使用jQuery时才可以使用它。

DOM元素没有名为
html
的函数。您可以使用属性
innerHTML
设置其内容,如下所示:

document.missing_placeholder.innerHTML = '<div class="alert alert-danger alert-dismissable"><span>'+Du hast was vergessen+'</span></div>';
此外,您还没有显示如何定义调用的元素
document。缺少上面的占位符
,但是
document。缺少占位符
可能是错误的。如果使用
id
定义它,请改用
document.getElementById(“缺少占位符”)
(尽管
窗口。缺少占位符可能会起作用)


您经常使用的
html
函数来自附加库,通常是jQuery。但即使使用jQuery,要使用它,也必须首先为元素获取jQuery包装器:

$(/* document.missing_placeholder or whatever*/).html('<div class="alert alert-danger alert-dismissable"><span>Du hast was vergessen</span></div>');
$(/*document.missing_placeholder或其他*/).html('duhast was vergessen');

但同样,只有当您使用jQuery时,才可以这样做。

请在最后返回true,以便在修复DOM/jQuery组合后允许提交。顺便说一句,如果在validateForm(this)中通过(this),则无需命名form@mplungjan:无需返回
true
。关于传入
这个
的观点很好。是的。一些浏览器会抱怨(函数并不总是返回值),无论如何,这是一个很好的文档,表明允许在endthx提交,我没有想到这一点。我补充说。但这并不能改变问题:-D@mplungjan:没有浏览器会抱怨函数不总是返回值。有些皮棉工具可能会,但这根本不是一回事
return true
在DOM0事件处理程序中完全没有意义,因此包含它是无意义的代码。请在末尾返回true,以便在修复DOM/jQuery混合后允许提交。顺便说一句,如果在validateForm(this)中通过(this),则无需命名form@mplungjan:无需返回
true
。关于传入
这个
的观点很好。是的。一些浏览器会抱怨(函数并不总是返回值),无论如何,这是一个很好的文档,表明允许在endthx提交,我没有想到这一点。我补充说。但这并不能改变问题:-D@mplungjan:没有浏览器会抱怨函数不总是返回值。有些皮棉工具可能会,但这根本不是一回事
return true
在DOM0事件处理程序中完全没有意义,因此包含它是无意义的代码。请在最后返回true,以便在修复DOM/jQuery混合后允许提交