我有一个 javascript onChange 函数,它调用一个 PHP 文件来运行,获取 UPS 费率,并返回一个带有费率下拉列表的 HTML 更新。我让这一切工作得很好,但现在我需要根据比较向选项列表添加一个项目。
Java脚本:
function fetch_UPS(el){
var zip = el;
if (zip.length !== 5) {
alert ("Please enter a valid 5-digit US zip code.");
return false;
}
else {
var cartID = getCookie('cornerstoreid');
document.getElementById('blackoverlay').style.display = "block";
document.getElementById('pp_checkout').style.display = "none";
$.ajax({
type: 'GET',
cache: false,
url: 'fetch_rates.php',
data: { zip : zip, cartID : cartID },
success: function(response){
var droplist = document.getElementById("shipping_field");
var htmlchange = "<span class=\"cart_opt_label\">Shipping: </span>" + response;
droplist.innerHTML = htmlchange;
document.getElementById('blackoverlay').style.display = "none";
document.getElementById('btn_sub_txt').innerHTML = '<input type="button" id="pp_checkout" value="" onclick="paypal_checkout_submit();" style="display:none;" />Please update shipping to continue';
}
});
}
}
用于返回的 PHP(在返回之前删除所有位)
if ($response == false) {
throw new Exception ( "Bad data." );
} else {
// save request and response to file
$fw = fopen ( $outputFileName, 'w' );
fwrite ( $fw, $response );
fclose ( $fw );
// Load XML file
$xml = new DOMDocument;
$xml->load($outputFileName);
// Load XSL file
$xsl = new DOMDocument;
$xsl->load('style.xsl');
// Configure the transformer
$proc = new XSLTProcessor;
// Attach the xsl rules
$proc->importStyleSheet($xsl);
echo $proc->transformToXML($xml);
}
在测试中,我的IF语句只在返回的末尾添加一个字符串,但是如果我尝试select从 XSL 中删除结束标记并将其添加到 PHP 文件中,它会丢弃格式化的返回并且只返回IF陈述。
我不做很多编码,而且由于中间通常有 6 个月到一年的时间,所以我经常落后于当前的编码要求。我确信我缺少一些 XSL 规则,但我已经尝试了我能想到的所有搜索组合,但没有提出任何解决方案。
尚方宝剑之说
相关分类