我有一个动态<input type="text" />
取决于值 - 来自数据库 - 的表单,如下所示:
<form id="data" name="data" method="post" action="..." onSumbit="return VerifyFields()">
<?php
for ($x=0; $x<count($List); $x++) {
?>
<tr>
<td> <?php echo $description; ?> </td>
<td> <input type="text" name="txt_glo_<?php echo $x; ?>" id=""txt_glo_<?php echo $x; ?> /> </td>
</tr>
<?php
}
?>
</form>
使用Javascript:
<script type="text/javascript>
function VerifyFields(){
var glo = $("#txt_glo_%").val();
if (glo == ""){
alert("EMPTY");
return false;
} else {
return true
}
}
</script>
在我提交表单之前,我需要在javascript中验证是否为txt_file_<?php echo $x; ?> == " "
,但我不知道该怎么办?
谢谢你的回答。问候
答案 0 :(得分:1)
这是一个jQuery解决方案(看起来就像你已经在使用jQuery一样):
var glos = $("input[id^=txt_glo_]");
for(var i=0;i<glos.length;i++){
var val=$(glos[i]).val();
if(val==""){
alert("EMPTY");
return false;
}
}
return true;
这将遍历每个输入,其id以txt_glo_
开头,并检查它的值。
有关属性选择器的详情,请参阅this MDN article。
这是一个有效的演示:JSFiddle。
答案 1 :(得分:1)
有多种方法可以实现这一目标。我更喜欢的是给所有字段提供相同的类,例如validateNotEmpty
。
<input class="validateNotEmpty" type="file" ...
<input class="validateNotEmpty" type="text" ...
您甚至可以将此用于循环外部设置的所有字段。现在,您需要在提交时检查.each
元素(假设您使用的是jQuery)。
$('form#data').submit(function(){
var allValid = true;
$('input.validateNotEmpty').each(function(){
if ($(this).val() == "" && allValid) {
alert("please fill in all required fields");
allValid = false;
return; // break .each()
}
});
//other validation
return allValid;
});