我有一个我正在处理的订单,当我用户选择不同的选项时,我正在使用jQuery实时更新价格。所以,现在,最终的项目成本,包类型等都是在jQuery变量中设置的,我需要将其转换为PHP以插入到数据库中。
您可以轻松查看代码:http://jsfiddle.net/cadengrant/uddPA/2/
实时预览工作代码:http://www.htmlified.com/order-now/
function update_price() {
var base_cost = base_price;
var basic_price = base_price;
var pro_price = base_price;
jQuery('.packages .selected').each(function(index) {
base_cost += jQuery(this).data("price");
basic_price += base_cost;
pro_price += base_cost + 70;
});
jQuery('#markup-pages').each(function(index) {
var price = Number(jQuery(this).val());
var packages = jQuery('.packages .selected').data("price");
var pages = 0;
jQuery('#packages .selected').each(function(index) {
if(jQuery(this).hasClass('basic')) {
if(packages == 199) {
pages = price * 99 - 99;
} else if (packages == 189) {
pages = price * 94 - 94;
} else if (packages == 399) {
pages = price * 199 - 199;
}
} else if (jQuery(this).hasClass('pro')) {
if(pro_price == 269) {
pages = price * 134 - 134;
} else if (pro_price == 259) {
pages = price * 129 - 129;
} else if (pro_price == 469) {
pages = price * 234 - 234;
}
}
});
base_cost += pages;
/* Single or plural page text */
if(price == 1) {
var markup_pages = "markup page";
} else {
var markup_pages = "markup pages";
}
jQuery('.markup-pages').text(markup_pages);
});
jQuery('#packages .selected').each(function(index) {
if(jQuery(this).hasClass('pro')) {
base_cost += 70;
}
});
/* Update Doctype */
jQuery('input[name=page_doctype]:checked', '#order-form').each(function(index) {
var basic_doctype_text = "";
var pro_doctype_text = "";
if(jQuery(this).hasClass('doctypehtml')) {
var doctype_text = "W3C Valid HTML5 & CSS3";
} else if (jQuery(this).hasClass('doctypexhtml')) {
var doctype_text = "W3C Valid XHTML1 & CSS2";
basic_doctype_text += " Transitional";
pro_doctype_text += " Strict";
}
jQuery('.doctype-text').html(doctype_text);
jQuery('.basic-doctype').html(doctype_text + basic_doctype_text);
jQuery('.pro-doctype').html(doctype_text + pro_doctype_text);
});
jQuery('.price').html(base_cost);
jQuery('.basic-price').html(basic_price);
jQuery('.pro-price').html(pro_price);
}
我只需要弄清楚如何将JS部分中的那些变量(doctype文本,基本doctype,pro doctype,base_cost等等)传递给我的order.php表单,这样我就可以更新已支付的金额,包类型他们选择了等等。非常感谢任何帮助。
答案 0 :(得分:2)
您的页面中已有表单。我建议您在此表单中创建隐藏的输入以与表单一起提交。例如:
<input type="hidden" name="base_cost" value="999">
您可以使用jquery轻松调整值。将表单提交到php页面后,您可以使用以下方法捕获这些值:
$base_cost = $_POST['base_cost'];
但不要忘记清理并验证用户的每个输入。 希望这有助于我的英语。
答案 1 :(得分:-1)
您正在寻找一种方法来告知用户的服务器信息?我的朋友,没有发送表格而没有使用ajax,将很难:)
如果我正确理解了该问题,您希望在用户触发某些操作时在客户端更改某些参数。在这种情况下,您可以在页面加载时加载可能的参数,并在用户触发这些操作时从已加载的参数中获取新参数。 然后,当您发送表单时,您将添加所选参数。
希望它有所帮助!