前台经验不足,现在碰到一个在我看来比较棘手的问题,请大家帮忙看看,指导指导。 首先我来描述下我要实现的功能。 在一个表单的创建页面,当数据都填写完成后,点击提交按钮。 在 js 文件中根据所填信息,运用 ajax 到后台进行处理,后台处理完后会返回一个实际策略和一个优惠策略,通过 json 数据传到前台。 然后在 ajax 成功获取 json 数据后弹出 confirm 让用户选择确定或取消。 当用户点击确定后,则将经过后台处理的优惠策略数据填入创建页面的隐藏 input 框中,如果点击取消,则将实际策略填入创建页面隐藏的 input 框中。 最后执行提交动作,将创建页面的信息提交至后台进行保存。 所有这些操作都是绑定在提交按钮的 click 事件上。 js 文件中主要处理的代码如下:
$("#get").click(function(){
getSum();
form.submit();
});
function getSum(){
var book_id = $("#purchase_order_book_id").val();
var num =$("#purchase_order_before_num").val();
$.ajax({
type: "post",
url: "/purchase_orders/get_sum",
dataType : "json",
data: { "num" : num,
"book_id" : book_id},
success: function(json){
var discrepancy = eval(json.commend_num) - eval(num);
if(eval(discrepancy) > 0){
if(eval(json.commend_sum) < eval(json.before_sum)){
if(confirm("?")){
$("#purchase_order_num").val(json.commend_num);
$("#purchase_order_before_num").val(json.commend_num);
$("#purchase_order_price").val(json.commend_price);
$("#purchase_order_before_sum").val(json.commend_sum);
$("#purchase_order_sum").val(json.commend_sum);
}
else{
$("#purchase_order_num").val(num);
$("#purchase_order_price").val(json.before_price);
$("#purchase_order_before_sum").val(json.before_sum);
$("#purchase_order_sum").val(json.before_sum);
}
}else{
$("#purchase_order_num").val(num);
$("#purchase_order_price").val(json.before_price);
$("#purchase_order_before_sum").val(json.before_sum);
$("#purchase_order_sum").val(json.before_sum);
}
}
}
});
}