我需要使用JavaScript验证表单。表单一直在更改,因为我使用字段名称表中的数据来打印每个字段(如姓名、地址、电话号码)。我使用循环来打印字段的标签和相应的文本输入标记。(例如name:textbox输入姓名,phone no:textbox输入电话号码)最后在提交表单并输入详细信息表时,将这些值放入数组中。
以下是打印每个字段和文本框的代码:
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检查这些字段是否为空,然后更改特定文本框的样式。任何帮助都将不胜感激。
您需要挂接表单的提交事件。然后您可以执行以下操作:
这是给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";
}
}
一般谷歌"动态表单验证"
对于您的特殊情况,您将感兴趣看见https://developer.mozilla.org/en/DOM/document.getElementsByClassName并在所有元件上循环。您可能需要在输入字段中添加额外的属性,以定义是否需要验证以及所需的验证类型。