我正在使用 ColdFusion 8 和 jQuery 1.7.2。
我在我的网站中使用了大量的 ajax。通常,我会使用 CFAJAXPROXY,但这有一个限制:它将所有值放入 URL,限制为大约 1250 个字符。我的数据会超过这个值(1000 个值,每个值 4 位)。
我通常不会一次提交整个表格。我通常会根据需要提交少量信息,例如选中或未选中某个框。这在使用 CFAJAXPROXY 时效果很好。现在我需要同时提交一千个(或更多)复选框,这给我的系统带来了麻烦。
如何在不刷新整个页面的情况下将此 FORM 作为 FORM POST 提交,就像普通的表单帖子一样?
// I WANT TO REFRESH THIS DIV ON FORM SUBMISSION
<div>
<fieldset>
<form method='post' action='?' id='jsSaveAllManufacturersForm'>
<input type='button' value='Select All ' id='jsSelectAll'>
<input type='button' value='Deselect All ' id='jsDeselectAll'>
<input type='button' value='Save Changes' id='jsSaveChanges'>
<input type='checkbox' value='1'> 1
<input type='checkbox' value='2'> 2
<input type='checkbox' value='3'> 3
</form>
</fieldset>
<div>
// SET VARS
var $SaveAllManufacturersForm = $('#jsSaveAllManufacturersForm'),
$SelectAll = $('#jsSelectAll'),
$DeselectAll = $('#jsDeselectAll'),
$SaveChanges = $("#jsSaveChanges");
// MY FUNCTION WHEN FORM IS SUBMITTED
var saveChanges = function(e) {
e.preventDefault();
$SaveAllManufacturersForm.submit();
jroDash.saveAllManufacturers($SaveAllManufacturersForm);
}
// ACTION THAT LAUNCHES THE FORM SUBMISSION
$SaveChanges.click(saveChanges);