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表单组和表单控件类属于bootstrap
答案 0 :(得分:0)
将您的javascript更改为:
var contactName = document.getElementById('contact-name'),
email = document.getElementById('contact-email'),
phone = document.getElementById('contact-phone'),
message = document.getElementById('contact-message');
function checkForm() {
if (contactName.value === '') {
alert('test');
}
}
答案 1 :(得分:0)
好的,霍布斯,谢谢你编辑你的问题,现在我能理解你的问题。
您的代码面临三两个问题。
someVariableName = document.getElementById(...);
添加到checkForm()
函数的开头。name
,您无法覆盖它。请参阅控制台中的window.name
。您当然可以在函数或块中使用var name = ...
。checkForm()
return false;
功能,则可以阻止表单提交
醇>
为了清楚起见,我附加了适合您的部分JavaScript:
function checkForm() {
var name = document.getElementById('contact-name');
if (name.value == '') {
alert('test');
return false;
}
}
编辑:正如Eman Z指出的那样,问题的第一部分并没有真正阻止代码工作,因为它正在检索一个对象的地址(谢谢,Eman Z!),