gpt4 book ai didi

JQuery 提交到 ColdFusion ActionPage

转载 作者:行者123 更新时间:2023-12-01 07:57:38 24 4
gpt4 key购买 nike

我有一个从 CFLOOP 标记动态创建的 HTML FORM 元素。每个表单都是唯一的,并且有一个提交按钮,用于触发发布到操作页面的 Jquery 脚本。有一个隐藏的表单字段,它被分配了一个唯一的记录 ID,操作页面使用该 ID 来执行删除查询。

我在浏览器的控制台窗口中收到此错误消息:500(CFSQLTYPE CF_SQL_INTEGER 的无效数据 528,529。)

这些是在 CFLOOP 运行时分配给表单隐藏输入的唯一记录 ID。我的 cloop 当前正在生成 2 个独特的表单,并且具有隐藏字段值:分别为“528,529”。

如果我碰巧此页面上只有一种独特的表单,则一切正常。为什么 Jquery 发送隐藏字段的所有值?我该如何解决?

谢谢。-布莱恩

FORM 代码如下所示:

<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>

我的Javascript代码

$('#delete a[href]').click(function(e) { e.preventDefault(); });

$('.deleteMileageForm').submit(function (e)
{

e.preventDefault();
$.ajax({
data: $('.deleteMileageForm').serialize(),
type:'POST',
url:'actionpages/delete_trip.cfm',
success: function(){
$('.successTab2').fadeIn(200).show();
$('.errorTab2').fadeOut(200).hide();
}

});
});

我的 CF 查询:

<!---Delete Trip --->                          
<cfoutput>
<cfquery name="deleteTrips" datasource="#datasource#">
delete from vehicle_log
where ID = <cfqueryparam value="#form.hidden#" cfsqltype="CF_SQL_INTEGER">
</cfquery>
</cfoutput>

最佳答案

不要序列化所有表单,而是序列化提交的表单。

$('#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();
}
});
});

关于JQuery 提交到 ColdFusion ActionPage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22943629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com