Javascript验证无法提交

时间:2013-07-03 07:48:42

标签: javascript

我对此进行了编程以检查我的表单数据,但是,它不起作用。首先,我检查所有值,如果它们为空,那么我检查电子邮件地址是否有效,然后检查是否选中了复选框。

当我提交没有输入值的表单时,它会成功加载action="#"中指定的文档,这不应该因return false;而发生。

function validateForm() {
            var meno = document.forms["registracia"]["meno"].value;
            var priezvisko = document.forms["registracia"]["priezvisko"].value;
            var telefon = document.forms["registracia"]["telefon"].value;
            var email = document.forms["registracia"]["email"].value;
            var vek = document.forms["registracia"]["vek"].value;
            var praca = document.forms["registracia"]["praca"].value;
            var motto = document.forms["registracia"]["motto"].value;
            var osoba = document.forms["registracia"]["osoba"].value;

            if (meno == null || meno =="" || priezvisko == null || priezvisko =="" ||
            telefon == null || telefon =="" || email == null || email =="" ||
            vek == null || vek =="" || praca == null || praca =="" || 
            motto == null || motto =="" || osoba == null || osoba =="" ||) {
                alert("Musíte vyplniť všetky údaje.");
                return false;
            }
            var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
            if(!re.test(email)) {
                alert("Zadajte platnú e-mailovú adresu.");
                return false;
            }

            if(!document.forms["registracia"]["suhlas"].checked) {
                alert("Musíte súhlasiť s uverejnením vašej fotografie.");
                return false;
            }
        }

1 个答案:

答案 0 :(得分:1)

||条件结束时您还有一个if。你也可以让它更具可读性,见下文。

function validateForm() {
    var form = document.forms["registracia"];

    if ( !form.meno.value 
            || !form.priezvisko.value 
            || !form.telefon.value 
            || !form.email.value 
            || !form.vek.value 
            || !form.praca.value
            || !form.motto.value
            || !form.osoba.value ) {
        alert("Musíte vyplniť všetky údaje.");
        return false;
    }
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    if(!re.test(form.email.value)) {
        alert("Zadajte platnú e-mailovú adresu.");
        return false;
    }

    if( !form.suhlas.checked ) {
        alert("Musíte súhlasiť s uverejnením vašej fotografie.");
        return false;
    }
}