JQuery提交到ColdFusion操作页面
我有一个HTML表单元素,它是从CFLOOP标记动态创建的。每个表单都是唯一的,并有一个提交按钮,该按钮触发一个Jquery脚本,该脚本将发布到actionpage。有一个隐藏的表单字段,它被分配一个唯一的记录ID,actionpage使用该ID执行删除查询 我在浏览器的控制台窗口中收到此错误消息: 500(CFSQLTYPE CF_SQL_INTEGER的数据528529无效。) 这些是运行CFLOOP时分配给表单隐藏输入的唯一记录ID。我的cloop目前正在生成两个独特的表单,并且具有隐藏的字段值:“528529” 如果我碰巧在这个页面上只有一个唯一的表单,那么一切都很好。为什么Jquery会发送隐藏字段的所有值?我该怎么修理 谢谢。 -布莱恩 表单代码如下所示:JQuery提交到ColdFusion操作页面,jquery,coldfusion,Jquery,Coldfusion,我有一个HTML表单元素,它是从CFLOOP标记动态创建的。每个表单都是唯一的,并有一个提交按钮,该按钮触发一个Jquery脚本,该脚本将发布到actionpage。有一个隐藏的表单字段,它被分配一个唯一的记录ID,actionpage使用该ID执行删除查询 我在浏览器的控制台窗口中收到此错误消息: 500(CFSQLTYPE CF_SQL_INTEGER的数据528529无效。) 这些是运行CFLOOP时分配给表单隐藏输入的唯一记录ID。我的cloop目前正在生成两个独特的表单,并且具有隐藏的
<cfloop query="get_trips">
<tr class="vehicle-log-table">
<td class="vehicle-log-table">#DateFormat(get_trips._date, "mm-dd-yyyy")#</td>
<td class="vehicle-log-table"><div align="center">#get_trips.total_mileage#</div></td>
<td class="vehicle-log-table"><div align="center">#get_trips.expenses#</div></td>
<td class="vehicle-log-table"><div align="right">
<a href="actionpages/delete_trip.cfm?id=#id#">Delete Trip</a>
<form enctype="multipart/form-data" class="deleteMileageForm" id="deleteMileage#get_trips.currentRow#" method="post">
<input type="hidden" id="hidden" name="hidden" value="#id#">
<input class="vehicle-log-form" type="submit" id="submit2" name="submi2" value="Delete">
</form>
</div><br />
<span class="errorTab2" style="display:none"> <font color="##FF0000"> <strong>Trip Not Deleted</strong></font></span>
<span class="successTab2" style="display:none"> <font color="##00FF00"> <strong>Trip Deleted Successfully</strong></font></span> </td>
</td>
</tr>
</cfloop>
<!---Delete Trip --->
<cfoutput>
<cfquery name="deleteTrips" datasource="#datasource#">
delete from vehicle_log
where ID = <cfqueryparam value="#form.hidden#" cfsqltype="CF_SQL_INTEGER">
</cfquery>
</cfoutput>
我的CF查询:
<cfloop query="get_trips">
<tr class="vehicle-log-table">
<td class="vehicle-log-table">#DateFormat(get_trips._date, "mm-dd-yyyy")#</td>
<td class="vehicle-log-table"><div align="center">#get_trips.total_mileage#</div></td>
<td class="vehicle-log-table"><div align="center">#get_trips.expenses#</div></td>
<td class="vehicle-log-table"><div align="right">
<a href="actionpages/delete_trip.cfm?id=#id#">Delete Trip</a>
<form enctype="multipart/form-data" class="deleteMileageForm" id="deleteMileage#get_trips.currentRow#" method="post">
<input type="hidden" id="hidden" name="hidden" value="#id#">
<input class="vehicle-log-form" type="submit" id="submit2" name="submi2" value="Delete">
</form>
</div><br />
<span class="errorTab2" style="display:none"> <font color="##FF0000"> <strong>Trip Not Deleted</strong></font></span>
<span class="successTab2" style="display:none"> <font color="##00FF00"> <strong>Trip Deleted Successfully</strong></font></span> </td>
</td>
</tr>
</cfloop>
<!---Delete Trip --->
<cfoutput>
<cfquery name="deleteTrips" datasource="#datasource#">
delete from vehicle_log
where ID = <cfqueryparam value="#form.hidden#" cfsqltype="CF_SQL_INTEGER">
</cfquery>
</cfoutput>
从车辆日志中删除
其中ID=
将提交的表单序列化,而不是序列化所有表单
$('#delete a[href]').click(function (e) {
e.preventDefault();
});
$('.deleteMileageForm').submit(function (e) {
e.preventDefault();
var $this = $(this);
$.ajax({
data: $this.serialize(), // **** modified this line ****
type: 'POST',
url: 'actionpages/delete_trip.cfm',
success: function () {
var $row = $this.closest('tr');
$('.successTab2', $row).fadeIn(200).show();
$('.errorTab2', $row).fadeOut(200).hide();
}
});
});
天才!成功了。现在发生的奇怪的事情是,我的fadeIn成功消息显示在我页面上每个独特的表单之后。有没有一种方法可以让它只在页面底部显示一次?是的,只需将其从cfloop中删除,然后将其放置在您希望它驻留的位置。我更新了答案,使其仅淡出/淡出受影响的特定行中的内容。这似乎不起作用。当我使用该代码时,它不会显示任何消息。