【发布时间】:2014-06-08 17:00:02
【问题描述】:
var name = document.getElementById('contact-name'),
email = document.getElementById('contact-email'),
phone = document.getElementById('contact-phone'),
message = document.getElementById('contact-message');
function checkForm() {
if (name.value == '') {
alert('test');
}
}
在开始学习实际的客户端验证之前,我只是想确保一切正常。
这里是 HTML
<form role='form' name='contactForm' action='#' method="POST" id='contact-form'>
<div class="form-group">
<label for="contact-name">First and Last Name</label>
<input type="text" class="form-control" id="contact-name" name="contactName" placeholder="Enter your name.." pattern="[A-Za-z]+\s[A-Za-z]+">
</div>
<div class="form-group">
<label for="contact-email">Email address</label>
<input type="email" class="form-control" id="contactEmail" name="contactEmail" placeholder="Enter Email" required>
</div>
<div class="form-group">
<label for="contact-phone">Phone Number</label>
<input type="number" class="form-control" id="contactPhone" name="contactPhone" placeholder="Enter Phone Number" required'>
</div>
<div class="form-group">
<label for='contactMessage'>Your Message</label>
<textarea class="form-control" rows="5" placeholder="Enter a brief message" name='contactMessage' id='contact-message' required></textarea>
</div>
<input type="submit" class="btn btn-default" value='Submit' onclick='checkForm()'>
</fieldset>
</form>
我取消了必需的属性,如果我将名称字段留空,当我单击提交时它会直接转到另一个。为了检查 javascript 是否正常工作,我做了一个基本的 onclick 函数。
也许有人可以向我解释 checkForm 函数有什么问题。提前致谢。
P.S form-group 和 form-control 类属于 bootstrap
【问题讨论】:
-
您是否收到来自
checkForm()的任何错误?如果是这样,哪些错误?可能是您试图在元素实际存在之前检索它们。 -
您的代码在
<head>中吗?如果是,你必须等到 DOM 准备好,或者你可以将你的脚本标签放在<body>的末尾。 -
据我所知没有错误。我的脚本标签都在结束正文标签之前。
-
您能否详细说明您的解决方案?你想达到什么目的,你的应用程序的什么行为阻止你这样做?你如何使用
checkForm()函数?我没有看到任何调用。 -
我编辑了 HTML 以显示整个表单。我将 onclick 放在提交按钮上,我只是想在学习完全验证表单之前让一切正常。当我将名称字段留空时,警报('test')不显示
标签: javascript forms validation