Показать сообщение отдельно
  #1 (permalink)  
Старый 26.09.2015, 09:20
Интересующийся
Отправить личное сообщение для Георгий М. Посмотреть профиль Найти все сообщения от Георгий М.
 
Регистрация: 24.09.2015
Сообщений: 13

Объединение похожих Java скриптов на одной странице
Добрый день, уважаемые форумчане.
Признаюсь, в программировании я пока профан, но работающие скрипты 3-ех калькуляторов стоимости для добавления их на сайт я написал. Однако возникла проблема, 3 скрипта работают по раздельности, но добавляя их последовательно на общую htm страницу и разделяя их тэгом скрипт, они работать отказываются.
Вот первый скрипт:
document.body.onload = function() {
 
    function calc() {
        var d = document, price = tolshi = dostavka = ustanovka = bortik = 0;
        shir1 = +d.getElementById("shir").value,
	
        dlin1 = +d.getElementById("dlin").value,
        
	sq = (shir1 * dlin1 / 1000000),
        
        color1 = d.getElementById("color1"),

        color2 = d.getElementById("color2"),

        color3 = d.getElementById("color3"),

        color4 = d.getElementById("color4"),
		
	tolsh1 = d.getElementById("tolsh1"),

        tolsh2 = d.getElementById("tolsh2"),

        tolsh3 = d.getElementById("tolsh3"),

        tolsh4 = d.getElementById("tolsh4"),

        bort1 = d.getElementById("bort1"),

        bort2 = d.getElementById("bort2"),
        
	dost = d.getElementById("dost"), 

	ust = d.getElementById("ust"),

        result = d.getElementById("result"),

        kol = d.getElementById("kol");

        if (color1.checked) price = +color1.value;

        if (color2.checked) price = +color2.value;

        if (color3.checked) price = +color3.value;

        if (color4.checked) price = +color4.value;
		
	if (tolsh1.checked) tolshi = +tolsh1.value;

        if (tolsh2.checked) tolshi = +tolsh2.value;

        if (tolsh3.checked) tolshi = +tolsh3.value;

        if (tolsh4.checked) tolshi = +tolsh4.value;

	if (bort1.checked) bortik = +bort1.value;

	if (bort2.checked) bortik = +bort2.value;
        
	if (dost.checked) dostavka = +dost.value;

        if (ust.checked) ustanovka = +ust.value 

        result.innerHTML = Math.round(sq * (price + tolshi) + dostavka + ustanovka + bortik* dlin1/1000);

    };
    document.form.onchange = calc;
    calc();
}


Вот второй - в него лишь добавляется одна новая пара (dlin2 и shir2) переменных, все остальные переменные старые

document.body.onload = function() {
 
    function calc() {
        var d = document, price = tolshi = dostavka = ustanovka = bortik = 0;
        shir1 = +d.getElementById("shir").value,
	
        dlin1 = +d.getElementById("dlin").value,
       
        shir2 = +d.getElementById("shir01").value,
	
        dlin2 = +d.getElementById("dlin01").value,        

        sq = ((shir1 * dlin1 / 1000000) + (shir2 * dlin2 / 1000000) - (shir1 * shir2 / 1000000)),
      
        color1 = d.getElementById("color1"),

        color2 = d.getElementById("color2"),

        color3 = d.getElementById("color3"),

        color4 = d.getElementById("color4"),
		
	tolsh1 = d.getElementById("tolsh1"),

        tolsh2 = d.getElementById("tolsh2"),

        tolsh3 = d.getElementById("tolsh3"),

        tolsh4 = d.getElementById("tolsh4"),

        bort1 = d.getElementById("bort1"),

        bort2 = d.getElementById("bort2"),
        
	dost = d.getElementById("dost"), 

	ust = d.getElementById("ust"),

        result = d.getElementById("result"),

        kol = d.getElementById("kol");

        if (color1.checked) price = +color1.value;

        if (color2.checked) price = +color2.value;

        if (color3.checked) price = +color3.value;

        if (color4.checked) price = +color4.value;
		
	if (tolsh1.checked) tolshi = +tolsh1.value;

        if (tolsh2.checked) tolshi = +tolsh2.value;

        if (tolsh3.checked) tolshi = +tolsh3.value;

        if (tolsh4.checked) tolshi = +tolsh4.value;

	if (bort1.checked) bortik = +bort1.value;

	if (bort2.checked) bortik = +bort2.value;
        
	if (dost.checked) dostavka = +dost.value;

        if (ust.checked) ustanovka = +ust.value 

        result.innerHTML = Math.round(sq * (price + tolshi) + dostavka + ustanovka + bortik* dlin1/1000);
    };
    document.form.onchange = calc;
    calc();
}


Вот третий код. Он отличается от предыдущего опять на одну пару переменных (dlin3 и shir3).

document.body.onload = function() {
 
    function calc() {
        var d = document, price = tolshi = dostavka = ustanovka = bortik = 0;
        shir1 = +d.getElementById("shir").value,
	
        dlin1 = +d.getElementById("dlin").value,
       
        shir2 = +d.getElementById("shir01").value,
	
        dlin2 = +d.getElementById("dlin01").value,   
    
        shir3 = +d.getElementById("shir02").value,
	
        dlin3 = +d.getElementById("dlin02").value,        

        sq = ((shir1 * dlin1 / 1000000) + (shir2 * dlin2 / 1000000) + (shir3 * dlin3 / 1000000) - (shir1 * shir2 / 1000000) - (shir1 * shir3/1000000)),
       
        color1 = d.getElementById("color1"),

        color2 = d.getElementById("color2"),

        color3 = d.getElementById("color3"),

        color4 = d.getElementById("color4"),
		
	tolsh1 = d.getElementById("tolsh1"),

        tolsh2 = d.getElementById("tolsh2"),

        tolsh3 = d.getElementById("tolsh3"),

        tolsh4 = d.getElementById("tolsh4"),

        bort1 = d.getElementById("bort1"),

        bort2 = d.getElementById("bort2"),
        
	dost = d.getElementById("dost"), 

	ust = d.getElementById("ust"),

        result = d.getElementById("result"),

        kol = d.getElementById("kol");

        if (color1.checked) price = +color1.value;

        if (color2.checked) price = +color2.value;

        if (color3.checked) price = +color3.value;

        if (color4.checked) price = +color4.value;
		
	if (tolsh1.checked) tolshi = +tolsh1.value;

        if (tolsh2.checked) tolshi = +tolsh2.value;

        if (tolsh3.checked) tolshi = +tolsh3.value;

        if (tolsh4.checked) tolshi = +tolsh4.value;

	if (bort1.checked) bortik = +bort1.value;

	if (bort2.checked) bortik = +bort2.value;
        
	if (dost.checked) dostavka = +dost.value;

        if (ust.checked) ustanovka = +ust.value 

        result.innerHTML = Math.round(sq * (price + tolshi) + dostavka + ustanovka + bortik* dlin1/1000 + bortik* dlin2/1000 + bortik* dlin3/1000);

    };
    document.form.onchange = calc;
    calc();
}


Мой вопрос состоит в следующем:
1) Может ли так быть, что калькуляторы не работают из-за совпадения имен переменных? Я побывал их переименовать, но они по прежнему не работали.
2) Может здесь нужно прописать один универсальный скрипт? (Если нужен универсальный скрипт, то как учесть то, что каждый скрипт прописан под свой набор ввод вводных текстовых полей, куда пользователь вводит свои параметры размеров).

Заранее благодарю за ответ.
Ответить с цитированием