Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 合并2个脚本_Javascript - Fatal编程技术网

Javascript 合并2个脚本

Javascript 合并2个脚本,javascript,Javascript,我有这两个脚本,但我不能把他们一起工作 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.

我有这两个脚本,但我不能把他们一起工作

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;
此外,
CalcultSumtoString
的函数定义不正确,应该是:

var calculSumToString = function() {
    totalField.value = (qtyField.value * 0.1).toFixed(2) + " €";
};
至于为什么javascript在顺序相反的情况下根本不起作用,是因为函数求值将在第一个错误时停止(当尝试访问
未定义的属性或不正确的函数语法时)


jsLinters可以帮你解决这个问题,并且可以作为捆绑和缩小步骤的一部分包括在内——如果你有兴趣创建健壮的javasscript(除了JS的单元测试框架之外),我建议你在这些领域快速搜索一下。

你说的“把它们放在一起”到底是什么意思?在同一个文件中,或者在HTML中相邻的
标记中?脚本1和脚本2可以单独工作,但当它们在一起时,一个停止workin@user3652832已更新答案以涵盖另一个错误(calculSumToString函数变量声明不正确)