我有这两个脚本,但无法将它们一起使用
function start()
{
var f=document.getElementById("hipaya");
var s=document.getElementById("paypala");
var l=document.getElementById("skrilla");
f.style.display = 'block';
s.style.display = 'none';
l.style.display = 'none';
}
function disp_div() {
var word = document.myform.mycred_buy.selectedIndex;
var selected_text = document.myform.mycred_buy.options[word].text;
var f=document.getElementById("hipaya");
var s=document.getElementById("paypala");
var l=document.getElementById("skrilla");
if (selected_text == 'HiPay'){
f.style.display = 'block';
s.style.display = 'none';
l.style.display = 'none';
}else if (selected_text == 'PayPal ou Cartão Crédito/Débito'){
f.style.display = 'none';
s.style.display = 'block';
l.style.display = 'none';
}else if (selected_text == "Skrill (Moneybookers)"){
f.style.display = 'none';
s.style.display = 'none';
l.style.display = 'block';
}
}
window.onload = function() {
var calculSumToString = function calculSumToString() {
totalField.value = (qtyField.value * 0.1).toFixed(2) + " €";
};
var totalField = document.getElementById('total_price');
var qtyField = document.getElementById('amount');
qtyField.onkeyup = calculSumToString;
itemPriceField.onkeyup = calculSumToString;
};
有谁知道为什么我不能把它放在一起吗?
只有一件作品。如果我将第一个放在最后,那么它的工作就会停止,但是第二个会停止工作
最佳答案
因为itemPriceField
是不确定的(我认为这是该变量的旧名称)。
我认为这行:
itemPriceField.onkeyup = calculSumToString;
应该:
totalField.onkeyup = calculSumToString;
此外,您的
calculSumToString
函数定义不正确,应为:var calculSumToString = function() {
totalField.value = (qtyField.value * 0.1).toFixed(2) + " €";
};
至于为什么当顺序相反时JavaScript根本不起作用的原因是,函数评估将在第一个错误时停止(尝试访问
undefined
的属性或错误的函数语法时)。jsLinters可以为您解决这个问题,并且可以作为捆绑和最小化步骤的一部分-如果您有兴趣创建强大的Javasscript(除了适用于您的单元测试框架之外,我建议您在这些领域中快速浏览一下google) JS)。