在更改输入标签时使用javascript进行表单验证

时间:2012-07-24 11:49:16

标签: php javascript

我需要使用JavaScript验证表单。表单保持更改,因为我使用字段名称表中的数据来打印每个字段(如姓名,地址,电话号码)。我正在使用循环打印字段标签和相应的文本输入标记。 (例如:姓名:输入姓名的文本框,输入电话号码的文本框:输入电话号码后最后在数组中获取这些值。

以下是打印每个字段和文本框的代码:

while ($row=mysql_fetch_array($result)){
    echo'<labelfor='.$row['field_name'].'name=field_id>'.$row['field_name'].':</label>';                        
    echo'<inputtype="text" name=field_name[]id="'.$row['field_id'].'":value="'.$row['field_value'].'" size="20" class = "inpBox" >';
}

现在我需要使用JavaScript检查这些字段是否为空,然后更改该特定文本框的样式。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您需要挂钩表单的提交事件。然后你可以做类似的事情:

这是针对jQuery:

$("form").submit(function{
    $('input[type="text"]',"form").each(function(){
        var $me = $(this);
        var status = true;
        if($me.val() == ""){
            $me.addClass("input-validation-error");
            status = false;
        }
        //Return status. True=Form is valid, False=Form is NOT valid
        return status;
    });
});

您可以在此处阅读更多内容:http://api.jquery.com/submit/

要获取javascript的值,您可以执行以下操作:

var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
    var me = inputs[i];
    if(me.value == "") {
        me.className = "input-validation-error";
    }
}​

答案 1 :(得分:0)

通常Google“动态表单验证”

对于您的特定情况,您将感兴趣 见https://developer.mozilla.org/en/DOM/document.getElementsByClassName 并循环遍历所有元素。您可能希望在输入字段中添加额外的属性,以定义是否需要验证以及所需的验证类型。