我正在尝试将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;
}
如果省略了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>
感谢您的帮助!
丹尼尔
答案 0 :(得分:3)
DOM元素没有名为html
的函数。您可以使用属性 innerHTML
设置其内容,如下所示:
document.missing_placeholder.innerHTML = '<div class="alert alert-danger alert-dismissable"><span>'+Du hast was vergessen+'</span></div>';
但另外请注意,您过早地结束了引号,因此Du hast was vergessen
不在字符串中。所以要修复那个:
document.missing_placeholder.innerHTML = '<div class="alert alert-danger alert-dismissable"><span>Du hast was vergessen</span></div>';
此外,您尚未展示如何定义上面称为document.missing_placeholder
的元素,但document.missing_placeholder
可能是错误的。如果您使用id
对其进行定义,请使用document.getElementById("missing_placeholder")
代替(window.missing_placeholder
可以工作)。
您经常使用的html
函数来自附加库,通常是jQuery。但即使你使用jQuery,要使用它,你必须首先获得元素的jQuery包装:
$(/* document.missing_placeholder or whatever*/).html('<div class="alert alert-danger alert-dismissable"><span>Du hast was vergessen</span></div>');
但是,只有当你使用jQuery时才会这样。