我的表单很少(用PHP动态创建),我想获取输入(类型=隐藏)并在其值=== 1或名称=='dataObec'时通过AJAX发送它们。
对于所有表格,我只有一个按钮。 我尝试提交它们并使用.serialize(),但我不能这样做:
PHP
foreach( $listUcz as $k => $v )
{
$i++;
?>
<tr>
<form action="" name="form-obec" method="post">
<input name="dataObec" type="hidden" value="<?php echo $data ?>">
<input name="idPrzed" type="hidden" value="<?php echo $id_przed ?>">
<?php if( $v['obec_ucz_obec'] != null )
{
?>
<td class="td_class obec-obec checked">
<input title="obec_ucz_obec" name="obec_ucz_obec" value="1">
<?php
echo 'X';
}
else
{
?>
<td class="td_class obec-obec">
<input type="hidden" title="obec_ucz_obec" name="obec_ucz_obec" value="">
<?php
}
?>
</td>
<?php if( $v['obec_ucz_noobec'] != null )
{
?>
<td class="td_class obec-noobec checked">
<input type="hidden" title="obec_ucz_noobec" name="obec_ucz_noobec" value="1">
<?php echo 'x';
}
else
{
?>
<td class="td_class obec-noobec">
<input type="hidden" title="obec_ucz_noobec" name="obec_ucz_noobec" value="">
<?php
}
?>
</td>
</form>
</tr>
}
...
<button type="button" onclick="submitAll();" id="buttonZak" name="btn-zak" class="button">END</button>
编辑: HTML版本(无php)-这是仅有的两种示例形式:
<form action="" name="form-obec" method="post">
<input name="dataObec" type="hidden" value="2018-06-28">
<input name="idPrzed" type="hidden" value="22">
<input title="obec_ucz_obec" name="obec_ucz_obec" value="1">
<input type="hidden" title="obec_ucz_noobec" name="obec_ucz_noobec" value="">
<input type="hidden" title="obec_ucz_spo" name="obec_ucz_spo" value="">
</form>
<form action="" name="form-obec" method="post">
<input name="dataObec" type="hidden" value="2018-06-28">
<input name="idPrzed" type="hidden" value="22">
<input title="obec_ucz_obec" name="obec_ucz_obec" value="">
<input type="hidden" title="obec_ucz_noobec" name="obec_ucz_noobec" value="1">
<input type="hidden" title="obec_ucz_spo" name="obec_ucz_spo" value="">
</form>
<button type="button" onclick="submitAll();" id="buttonZak" name="btn-zak-obec" class="button">END</button>
jQuery
function submitAll()
{
$('form[name="form-obec"]').each(function()
{
var form = $(this);
var obec = 0;
var allInputs = form.find(':input');
allInputs.each(function()
{
if ($(this).val() === 1)
{
obec = $(this).attr('name');
}
})
console.log(allInputs);
$.ajax({
data: obe;
...
顺便说一句。输入的值只能是''或'1'-由JS完成(此处不包括)。
这是我在控制台中得到的:
r.fn.init [prevObject: r.fn.init(1)]
length:0
prevObject: r.fn.init [form]
__proto__:Object(0)
此代码是许多版本中的一个,因此可能会出现错误-请不要提出建议。 :)
编辑:
POST应该是示例数组:
dataObec = '2018-06-28',
idPrzed = '22',
obec_ucz_obec = 1 // <-- or obec_cz_noobec = 1 and so on depends where value = 1 and can be only one input where value = 1.