我具有此功能来检查表单中的某些内容是否已更改,显然可以正常工作:
$(function() {
var init_form = $('#editarproduto').serialize();
$(':submit').click(function() {
window.onbeforeunload = null;
});
window.onbeforeunload = function() {
var check_form = $('#editarproduto').serialize();
console.log(check_form);
console.log(init_form);
if (check_form === init_form)
return null;
return 'Os dados do formulário não foram salvos, deseja permanecer nesta página?';
};
});
但是他提出了需要检查表的想法,如果其中隐藏了某些内容,则不会对表进行更改:
<table class="table table-responsive table-hover" id="tabelaf" name="tabelaf">
<tbody>
@foreach (var item in Model.ProdutosFornecedores) {
<tr class="tr item">
<td>@item.FornecedorProduto.Id</td>
<td>@item.FornecedorProduto.Nome</td>
<td align="right">
<a class="link-excluir" href="#" data-id="@item.Id" title="Excluir"><i class="fa fa-trash-o fa-lg"></i></a>
</td>
</tr>
}
</tbody>
</table>
您也如何将它与此表进行比较?
答案 0 :(得分:1)
您的序列化仅从表单元素获取数据。您可以将隐藏的输入添加到列中,以将该数据包括在表单中:
<td>
@item.FornecedorProduto.Id
<input type="hidden" name="id" value="@item.FornecedorProduto.Id" />
</td>
请注意,此表应放置在表单内