所以这是我有的屏幕截图,我实现了workorder拒绝功能,现在当我点击十字按钮时打开一个iframe请我输入一些评论,只需点击红色按钮工作被拒绝,其状态也相应改变。 一切都运行正常,但问题是当我第一次执行此操作时,更改没有反映出来,在检查日志后我意识到查询没有被触发。
当第二次我再次执行相同操作时,它会删除工作订单,再次检查日志时,我的查询就会被打印
有时需要3次尝试删除记录。 我无法弄清楚这是JS的问题吗?因为"关闭iFrame并重定向到我一小时前实施的列表。" 这是下面的源代码
<f:form action="${baseUrl}save_reject_status/${woSpIdEnc}" method="post" command="WorkOrderSp" id="workOrder" class="form-wizard validate" onsubmit="manageService()">
<input type="hidden" name="woSpIdEnc"/>
<div class="form-group">
<label class="col-sm-2 control-label" for="field-5" style=" margin-top: 23px;">Remark<span style="color:#D50000">*</span></label>
<div class="col-sm-12">
<f:textarea path="rejectRemark" class="form-control autogrow" cols="5" id="field-5" required="required" placeholder="Let us know the reason behind rejection" style="margin-bottom:12px; height: 200px" />
</div>
<div class="panel-footer" style="height:320px;">
<input type="submit" class="btn btn-danger pull-left no-margin" id="saveBtn" value="Reject Work Order" onclick="return confirm('Are you sure to Verify the Contractor.');">
</div>
</div>
</f:form>
<script>function manageService() {
window.top.location.href = '../detail';
parent.$.colorbox.close();
return true;
}
</script>
现在它执行所有必需的操作,它关闭iframe以及它也登陆同一页面。但是工作顺序不会在第一次被删除。 我再次表演同样的工作! 有时需要3个步骤来实现相同的目标。 我想让它在单发中表演。
答案 0 :(得分:0)
首先发布表单请求是必要的。您可以尝试使用jquery
执行此操作<f:form action="${baseUrl}save_reject_status/${woSpIdEnc}" method="post" command="WorkOrderSp" id="workOrder" class="form-wizard validate" onsubmit="manageService(this);return false;">
<!-- the form body -->
</f:form>
<script>
function manageService(form) {
$(form).submit().success(function(){
parent.$.colorbox.onClose = function(){window.top.location.href = '../detail';};
parent.$.colorbox.close();
});
}
</script>