使用JavaScript无法正常验证表单

时间:2014-08-19 10:13:58

标签: javascript

我有这段代码:

function validate(form) {
    var errors = 0;
    els = form.elements;
    for (var i=0; i<form.elements.length; i++) {
        if (!els[i].value && els[i].tagName != "select") {
            console.log(els[i]);
            els[i].style.border = "1px solid red";
            errors = 1;
        }
    }
    console.log("Finished for loop");
    var skuld_fast = document.getElementsByName("skuld_fast")[0];
    var skuld_other = document.getElementsByName("skuld_other")[0];
    if ((skuld_fast.value && !skuld_other.value) || (!skuld_fast.value && skuld_other.value)) {
        skuld_fast.style.border = "1px solid red";
        skuld_other.style.border = "1px solid red";
        errors = 1;
    }
    console.log("Finished if statement for skuld_fast and skuld_other");
    if (errors == 0) {
        form.submit();
    }
    else {
        alert("Eitthvað fór úrskeiðis.");
    }
}

HTML:

<form>
    <input name="input1">
    <select name="skuld_other">
        (...)
    </select>
    <select name="skuld_fast">
        (...)
    </select>
    <input type="button" onClick="validate(this.form);">
</form>

input1运行正常。无论是否选择了任何内容,skuld_otherskuld_fast都不会。 console.log语句都已打印出来。

我尝试使用此代码制作的声明如下:对于input的for循环中的每个元素(selectform.elements),如果没有任何内容写入字段,并且未选择元素的标记名称,或者只选择skuld_fastskuld_other中的任何一个,然后设置errors = 1。< / p>

我应该注意,对于我正在使用Select Picker:http://silviomoreto.github.io/bootstrap-select/

0 个答案:

没有答案