更改文本框的颜色并在Javascript验证上添加文本

时间:2013-11-09 18:54:40

标签: javascript html5 validation dom

所以我正在尝试验证表单,并且在验证失败时我无法更改文本框。相反,表单已完成。我想要的是,如果验证失败,文本框边框变为红色,文本框下方的文字为红色,上面写着“填写我们的字段!”

以下是我为了测试而编写的内容,但它不起作用,我不确定如何在相关方框之后添加红色=彩色文本:

<form id="reg" method="POST" action="user.php" onsubmit="return validate()">

    <label for="first">First Name: </label>
    <input id="first" name="first" type="text" value="">

    <button type="submit">Register</button>
</form> 


function validate(){
    var formIsValid = true;

    if(first.value === ""){
        //Not sure how to add Red-Colored Text below the box which says "Fill our this field!"
        first.borderColor = "red"; //NOT WORKING
        formIsValid = false;    
    }

    return formIsValid;

}

2 个答案:

答案 0 :(得分:5)

我相信这就是你要找的东西,

http://jsfiddle.net/F8H7Y/

<form name= "reg" id="reg" method="POST" action="user.php" onsubmit="return validate()">

    <label for="first">First Name: </label>
    <input id="first" name="first" type="text" value="">

    <input type="submit">Register</button>
</form> 



function validate(){
    var formIsValid = true;
    var first=document.forms["reg"]["first"];
    if(first.value == null || first.value == ""){
        first.style.borderColor = "red";
        formIsValid = false;    
    }

    return formIsValid;

}

答案 1 :(得分:0)

Have a look on this post

我认为,对于文字,您可以使用空的标签使文本显示在文本框的正下方,在验证失败时显示“填写此文本框”。