Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript的表单验证始终为true_Javascript_If Statement_Validation - Fatal编程技术网

使用JavaScript的表单验证始终为true

使用JavaScript的表单验证始终为true,javascript,if-statement,validation,Javascript,If Statement,Validation,添加了更多的文本,因为stackoverflow说代码太多 HTML 为什么这总是会变成现实 提前谢谢 Stijn如果您阅读,您将看到文档。getElementsByName返回节点列表,而不是单个节点 var naam = document.getElementsByName('naam')[0].value, email = document.getElementsByName('email')[0].value, boodschap = document.getEleme

添加了更多的文本,因为stackoverflow说代码太多

HTML

为什么这总是会变成现实

提前谢谢


Stijn

如果您阅读,您将看到
文档。getElementsByName
返回
节点列表,而不是单个
节点

var naam = document.getElementsByName('naam')[0].value,
    email = document.getElementsByName('email')[0].value,
    boodschap = document.getElementsByName('boodschap')[0].value,
    target = document.getElementById('resultaat');
现在:


考虑到有关如何更好地设计代码样式的问题更新和其他信息。这里有一个可能的解决办法

HTML

我在按钮中添加了一个“id”,只是为了更容易在JSFIDLE中找到它,当然您可以使用其他方法在DOM中找到它

一些参考资料


文档。getElementsByName
返回节点列表而不是节点。你必须循环。这有助于格式化问题中的代码,使其可读。在提出问题时提供支持代码,你的问题的JSF部分也总是有帮助的。这意味着我们不需要猜测或为您创建JSFIDLE。谢谢你的帮助!谢谢你的回复!即使它一直返回无效,当所有字段都被填充时。。。
function valideren() {
    if (document.getElementsByName('naam').value != '' && document.getElementsByName('email').value != '' && document.getElementsByName('boodschap').value != '') {
        document.getElementById('resultaat').innerHTML = "De e-mail werd verstuurd";
    } else {
        document.getElementById('resultaat').innerHTML = "Gelieve alle velden in te vullen!";
    }
}
var naam = document.getElementsByName('naam')[0].value,
    email = document.getElementsByName('email')[0].value,
    boodschap = document.getElementsByName('boodschap')[0].value,
    target = document.getElementById('resultaat');
if (naam.length && email.length && boodschap.length) {
    target.innerHTML += "valid";
} else {
    target.innerHTML += "invalid";
};
<form name="contact">
    <fieldset>
        <label class="labelone" for="naam">Naam:</label>
        <input name="naam">
        <label for="email">Email:</label>
        <input name="email">
        <label for="boodschap">Boodschap:</label>
        <textarea name="boodschap"></textarea>
    </fieldset>
    <fieldset>
        <input id="validateButton" class="btn" type="button" value="Verzenden" />
        <div id="resultaat"></div>
    </fieldset>
</form>
function valideren() {
    var form = this.parentNode.parentNode,
        resultaat = document.getElementById('resultaat');

    if (form.naam.value !== '' && form.email.value !== '' && form.boodschap.value !== '') {
        resultaat.textContent = "De e-mail werd verstuurd";
    } else {
        resultaat.textContent = "Gelieve alle velden in te vullen!";
    }
}

document.getElementById('validateButton').addEventListener("click", valideren, false);