验证正在处理输入字段,但它拒绝在textarea上执行此操作。为什么?当我将textarea的长度记录到控制台时,它表示document.guest未定义...但在我看来显然不是这样,因为它处理输入字段。
<script type="text/javascript">
function fcheck() {
if (document.guest.name.value.length < 1) {
alert("Du musst einen Namen eingeben!");
return false;
}
if (document.guest.email.value.length < 1) {
alert("Du musst eine Email eingeben!");
return false;
}
if (document.guest.message.value.length < 1) {
alert("Du musst eine Nachricht eingeben!");
return false;
}
return true;
}
</script>
<div id="test2" class="col-md-6 form-group">
<form action="addcomment.php" method="post" name="guest" onSubmit="return fcheck();">
<div class="textform">
<p>Name:
<input type="text" name="name" class="form-control"/>
</p>
</div>
<div class="textform">
<p>E-Mail:
<input type="text" name="email" class="form-control"/>
</p>
</div>
<div class="textform">
<p>Nachricht(Maximal 300 Zeichen):</p>
<textarea cols="50" name="message" rows="10" class="form-control status-box" maxlength="300"> </textarea>
</div>
<br>
<div class="pull-left">
<p class="counter">300</p>
</div>
<div id="textarea" class="pull-right">
<input type="submit" value="Nachricht abschicken" class="btn btn-primary" />
</div>
</form>
</div>
答案 0 :(得分:2)
首先,您需要使用form
阻止preventDefault
默认操作。所以在html中替换这行代码:(更多信息:JavaScript code to stop form submission
)
onSubmit="return fcheck();"
with:
onSubmit="event.preventDefault(); fcheck();"
第二,在你的javascript中:
<script type="text/javascript">
function fcheck() {
if (document.forms.guest.name.value.trim().length < 1) {
alert("Du musst einen Namen eingeben!");
return false;
}
if (document.forms.guest.email.value.trim().length < 1) {
alert("Du musst eine Email eingeben!");
return false;
}
if (document.forms.guest.message.value.trim().length < 1) {
alert("Du musst eine Nachricht eingeben!");
return false;
}
return true;
}
</script>
答案 1 :(得分:1)
你应该写:
document.forms.guest
而不是:
document.guest
您还应该看一下answer。
编辑:事实上,你的textarea的长度是&#34; 1&#34; !见edited fiddle。这是由于空间特征。删除它,它会工作。
答案 2 :(得分:1)
textareas不会在document.form
上显示,您可以这样访问: -
document.guest.elements["message"].value