2

我需要使用 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 检查这些字段是否为空,然后更改该特定文本框的样式。任何帮助将不胜感激。

4

2 回答 2

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";
    }
}​
于 2012-07-24T12:04:20.887 回答
0

一般谷歌“动态表单验证”

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

于 2012-07-24T12:03:24.483 回答