我有多个形式:
<?php for ($i = 0; $i > $n; $i++) { ?> // n is no. of value (no limit)
<form>
<input name="<?php echo $i; ?>venue" type="text">
<input name="roster" type="text">
<input type="submit" name="btn_venue">
</form>
<?php } ?>
<form>
<input name="hospitality" type="text">
<input name="template" type="text">
<input type="submit" name="btn_hospitality">
</form>
...
...
<form>
<input name="element" type="text">
<input name="alignment" type="text">
<input type="submit" name="btn_xyz">
</form>
我希望validation(不应该是空白)以所有形式,所以如何使用验证?
我尝试了jQuery验证:
<script>
$('document').ready(function () {
$('form').each(function (key, form) {
$(form).validate({
rules: {
hospitality: {
required: true
},
//...
//...
alignment: {
required: true
}
});
});
});
</script>
我有管理静态名称字段验证,但我不知道动态venue
名称验证。有人可以帮助我吗?
如果只有一种形式易于维护但动态多个表单提交验证如何验证。
一次只提交一个表单,但特定表单验证了如何可能?
尝试一下。它通过每种形式和每个形式都通过每个输入(类型文本),并为每个输入构建每个输入的规则。然后将动态构建的规则馈送到验证函数。
$('document').ready(function () {
$('form').each(function (key, form) {
// build the rules object dynamically
var rules = {};
// loop through each input in the form
$(form).find('input[type="text"]').each(function(idx, obj) {
// make a rule for this input
rules[obj.name] = {"required": true};
});
$(form).validate({
"rules": rules
});
});
});
okey这不是确定这样做的最干净的方法,而是第一个跨越我的脑海。首先,编辑您的HTML,因此表格具有id="form$i",
输入具有id="input$i",
,并且提交具有id="$i"
。还要添加类以提交class="validate"
<?php for ($i = 0; $i > $n; $i++) { ?> // n is no. of value (no limit)
<form id="form<?php echo $i; ?>">//so id="form2" for example
<input id="input<?php echo $i; ?>" name="<?php echo i; ?>venue" type="text">// id="input2"
<input name="roster" type="text">
<input id="<?php echo $i; ?>" class="validate" type="submit" name="btn_venue">//id="2"
</form>
<?php } ?>
jQuery应该有效,我将在代码中解释每一行
<script>
$(function () {
$(".validate").click(function () { //this is call for each click button with class validate
var id = $(this).attr('id');//getting id of the clicked element which is $i
var formid = 'form' + id;//creating new var formid which will target formid (for example: in first loop $i=1, so id=1, and formid=form1)
var input = 'input' + id;//creating input which value will be input$i
$('#' + formid).on('submit', function (e) {//on form submit validate function
if ($(#input).value == '') {
return false;
} else {
return true;
}
});
});
});
</script>
希望您了解逻辑,可能是我在某个地方犯了错误,所以请仔细看看..