Javascript - 验证 onSumbit 动态输入
Javascript - verify onSumbit dynamic inputs
我有一个表单,它获得动态<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; ?> == " "
,但我不知道该怎么做?
谢谢你的回答。问候
有多种方法可以实现此目的。我更喜欢的是为所有字段提供相同的类,例如 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;
});
演示
这是一个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_
开头的输入,并检查其值。
有关属性选择器的更多信息,请参阅此 MDN 文章。
这是一个工作演示:JSFiddle。
相关文章:
- 无法在 jquery 中的单击事件上生成动态输入字段
- 将动态输入表单数据保存到数据库kendoui中
- 如何从动态输入字段添加数字
- 带有动态输入的嵌套ng重复
- 如何正确地将动态输入字段传递到另一个页面进行显示
- 所有输入字段的动态输入长度
- 在AJAX中获取两个动态输入的值
- 访问ember中的动态输入值#ember中每个块
- 附加jQuery的后动态输入
- 在动态输入数据的下拉菜单中设置默认值
- Javascript - 验证 onSumbit 动态输入
- 动态输入文件中未加载任何数据
- 以 Meteor JS 形式存储动态输入值
- 将动态输入索引到其他动态输入数组
- 如何在创建动态输入文件时获取相同输入类型的单独 ID
- 如何编辑此动态输入文本区域 javascription
- 用于动态输入的JavaScript和HTML表单
- 使用 jquery 验证动态输入字段
- 使用验证器插件 Jquery 验证动态输入表单元素
- 从 jquery 动态输入字段获取值