恕我直言,类更适合为 CSS 格式化目的标记元素,而不是为脚本页面中的元素提供功能目标。
我建议为表单分配一个 ID,以便您可以使用 javascript 使用 getElementById 函数来引用它,然后浏览其元素并为每个元素执行您的验证函数,例如 validateField()。大致是这样的
function validateField(fieldToValidate) {
//Here you can perform your validation against fieldToValidate.value (for text inputs)
}
var frm = document.getElementById("myForm");
for (var i=0; frm.elements[i]; i++)
{//Cycle through all input tags, of text type, inside the form
if (
frm.elements[i].tagName=="INPUT"
&&
frm.elements[i].getAttribute("type")=="text")
)
{
validateField(frm.elements[i]);
}
}
此外,如果您知道动态生成的元素的名称遵循给定的命名约定,例如在您的示例中(countX,X 是数字)并且您只想验证动态生成的输入字段,因为它们是文本输入字段, 你可以只检查那些; 更好的是为字段分配特定的 ID 而不是名称,以确保您没有使用相同的名称并验证您不应该使用的内容。
PHP端
<form method="post" action="##" id="myForm" name="test" onsubmit="return validate()">
<?php
$i=0;
while($i<5)
{
echo "<input type='text' id='txtField$i'>"
$i++;
}
?>
JS端
function validateField(fieldToValidate) {
//Here you can perform your validation against fieldToValidate.value (for text inputs)
}
var frm = document.getElementById("myForm");
var currentField;
for (var i=0; currentField = document.getElementById("txtField"+i); i++)
{//Cycle through all txtField* starting IDs elements
validateField(currentField);
}