您好,我是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 Selected | Item Selected | Incident Date | Action |
---|
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;
%>
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;
%>
String taglibUrl = "javascript:"
+ renderResponse.getNamespace()
+ "removeFault('" + myCountVal + "','"
+ myId + "')";
%>