java ajax 修改数据库数据,java - 在ajax发布后,需要在下一个选项卡上显示数据库中的数据 - 堆栈内存溢出...

博客作者在AJAX和JQUERY环境下遇到一个问题,用户在多选项卡应用程序中填写表单。当从选项卡1和选项卡2通过AJAX提交数据到数据库后,选项卡3未能正确显示已保存的数据,除非手动刷新页面。问题可能涉及到数据同步、AJAX回调或页面渲染。作者寻求帮助以解决这个问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

您好,我是AJAX和JQUERY / JQUERY(UI)的新手,我有一个具有4个选项卡(1,2,3,4)的应用程序。

首先启用第一个标签,最后三个标签被禁用。 当用户单击第一个选项卡中的下一个按钮时,它将转到第二个选项卡。 当用户单击第二个选项卡中的按钮时,应转到第三个选项卡以查看或显示数据库中收集的信息的详细信息,然后用户单击第三个选项卡中的按钮,它会转到选项卡4。

问题:

现在单击第二个选项卡中的按钮,我要做的是一个AJAX帖子,它将所有来自选项卡1和选项卡2的表单数据带到Liferay Portlet Controller类,在该类中它收集数据并插入数据库中,但不返回此功能的任何数据。

问题是,当我单击第二个选项卡中的NEXT按钮时,它会转到第三个选项卡,但仅显示表标题信息,而不显示表行数据(即其为空)。 显示此数据的唯一方法是,当我实际单击刷新页面浏览器时,该浏览器将返回第一个选项卡,然后我必须再次单击选项卡1和选项卡2才能查看选项卡3上表行中的数据先前已插入数据库中。

这是我的代码段。 有人可以帮忙解决此问题吗? 这是实现此解决方案的合适方法吗?

$(document).ready(function () {

var $tabs = $('#tabs').tabs({ selected: 0, disabled: [1,2,3]

});

$("#additem").click(function(e){

//FAULTS

var fault = $('#dd1').val();

var child = $('#childFault').val();

//var childFaultVal = $('#childFault').val;

var how = $('#faultReason').val();

var noteVal = $('#note').val();

var occurenceDate = $('#datepicker').val();

if (fault == ''){

alert("Please select a Stain or Damage");

return false;

}

if (child == ''){

alert("Please select type of "+fault);

return false;

}

if (occurenceDate == ''){

alert("Please select the date that the "+ fault +" occured ");

return false;

}

if (how == ''){

alert("Please select how the incident happened");

return false;

}

$tabs.tabs('enable', 1).tabs("option", "active", 1).tabs('disable', 0);

return false;

});

/* $('#btn-submit').bind('click', function(){ */

$('#btn-submit').click(function(){

//$('#myform').on('submit', function(e){

//$tabs.tabs('enable', 2).tabs("option", "active", 2).tabs('disable', 1);

//FAULTS

var fault = $('#dd1').val();

var childFaultVal = $('#childFault').val;

var how = $('#faultReason').val();

var noteVal = $('#note').val();

var occurenceDate = $('#datepicker').val();

//ITEMS

var itemVal = $('#item').val();

var subitemVal = $('#subItems').val();

var materialVal = $('#material').val();

var locationVal = $('#location').val();

var materialLocVal = $('#materialLoc').val();

if (itemVal == ''){

alert("Please select an Item");

return false;

}

if (subitemVal == ''){

alert("Please select the type of"+itemVal);

return false;

}

if (materialVal == ''){

alert("Please select a material of the "+itemVal);

return false;

}

if (locationVal == ''){

alert("Please a location on the "+itemVal);

return false;

}

if (materialLocVal == ''){

alert("Please select the material location of the"+itemVal);

return false;

}

var form_data = $("form").serialize();

$.ajax({

type: "POST",

url: "",

cache: false,

data: form_data,

dataType: "text",

error: function() {

$('#status').text('Update failed. Try again.').slideDown('slow');

},

success: function(response) {

$tabs.tabs('enable', 2).tabs("option", "active", 2).tabs('disable', 1);

},

complete: function() {

setTimeout(function() {

$('#status').slideUp('slow');

}, 3000);

}

});

});

$("#addfault").click(function(){

$tabs.tabs('enable', 0).tabs("option", "active", 0).tabs('disable', 1);

return false;

});

$("#confirm").click(function(){

$tabs.tabs('enable', 3).tabs("option", "active", 3).tabs('disable', 1);

return false;

});

});

HTML代码标签2

Please Select the Item

name="item" id="item"

onChange="poputlateItemList(this);"

style="width: 200px;">

id="btn-submit" value="NEXT" />

HTML TAB3

Please review the following items selected. You

could add additional faults or select NEXT to complete your claim

Fault SelectedItem SelectedIncident DateAction

varStatus="theCount">

paragraphID = Helper.getParagraphID();

%>

${theCount.count + 100}

${review.childFault}

${review.item}

${review.incidentDate}

${review.id}

String myCountVal = (String) pageContext

.getAttribute("myCount");

String myChildFault = (String) pageContext

.getAttribute("myChildFault");

String myItem = (String) pageContext.getAttribute("myItem");

String myIncidentDate = (String) pageContext

.getAttribute("myIncidentDate");

String myId = (String) pageContext.getAttribute("myId");

String rowName = "my_row_" + myCountVal;

%>

>>${review.childFault}${review.item}${review.incidentDate}

String taglibUrl = "javascript:"

+ renderResponse.getNamespace()

+ "removeFault('" + myCountVal + "','"

+ myId + "')";

%>

ADD FAULT/ITEM

NEXT

/******************************

*

* @param actionRequest

* @param actionResponse

***********************************/

@SuppressWarnings("unchecked")

@ProcessAction(name = "reviewClaim")

public void postData(ActionRequest actionRequest,ActionResponse actionResponse){

ActionUtil.createReviewClaimDetail(actionRequest,hows,items,claim,policyId);

actionResponse.sendRedirect(viewCreateNewClaim+"?id="+policyId+"&action=review");

}

这是填充HTML表的代码

故障选定项目选定事故日期操作

varStatus="theCount">

paragraphID = Helper.getParagraphID();

%>

${theCount.count + 100}

${review.childFault}

${review.item}

${review.incidentDate}

${review.id}

String myCountVal = (String) pageContext

.getAttribute("myCount");

String myChildFault = (String) pageContext

.getAttribute("myChildFault");

String myItem = (String) pageContext.getAttribute("myItem");

String myIncidentDate = (String) pageContext

.getAttribute("myIncidentDate");

String myId = (String) pageContext.getAttribute("myId");

String rowName = "my_row_" + myCountVal;

%>

>>${review.childFault}${review.item}${review.incidentDate}

String taglibUrl = "javascript:"

+ renderResponse.getNamespace()

+ "removeFault('" + myCountVal + "','"

+ myId + "')";

%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值