Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Массив JS сложение и вывод
цитата
12/07/07 в 22:59
 Sterx
есть пример
Код:
<html><head><script language="JavaScript">
function x(){
document.getElementById('rex').innerText=document.ename.a1cena.value*document.ename.a2cena.value+document.ename.a3cena.value*document.ename.a4cena.value;
}

</script></head><body>
<form name="ename">
Колличество:
<input type="text" value="" name="a1cena">
Цена1:<input type="text" value="" name="a2cena">
Количество2: <input type="text" value="" name="a3cena">
Цена2 :<input type="text" value="" name="a4cena"></form>
Результат:<span id="rex"></span>Рубля<br><input type="button" value="Result" onClick="x()"></body></html>

как переписать функцию если количество полей заранее неизвестно
и часть из них могут быть disabled?
кто знает JS
цитата
13/07/07 в 01:01
 f0kin
в целом коряво, но я бы сделал как-нить так:
Код:

<html><head>

<script language="JavaScript">
function x(){
var quotes=document.getElementsByTagName("input");
var sum = 0;
for(var i=quotes.length-1;i>=0;i--){
    var qu=quotes[i];
    if ( qu.name.substr( 0, 3) == "qua" &&
         !document.ename[ "qua" + qu.name.substr( 3 )].disabled ) {
       // for each quantity found, we can find a price...
       var q = parseInt( document.ename[ "qua" + qu.name.substr( 3 )].value );
       var cena = parseInt( document.ename[ "cena" + qu.name.substr( 3 )].value );
       sum += q*cena;
    }
}
document.ename.rex.value = sum;
}
</script>
</head><body>

<form name="ename">
Количество:  <input type="text" value="1" name="qua1">
Цена1:<input type="text" value="2" name="cena1">

Количество2: <input type="text" value="3" disabled name="qua2">
Цена2 :<input type="text" value="4" disabled name="cena2">

Количество3: <input type="text" value="5" name="qua3">
Цена3 :<input type="text" value="6" name="cena3">

Результат: <input name="rex" size=4> Рублей<br>
</form>
<input type="button" value="Result" onclick='x();'>

</body></html>
цитата
13/07/07 в 01:39
 Sterx
спасибо
свое родил в муках
Код:
<html><head>
<script language="JavaScript">
function x(){
var summ=0;
cena = new Array();
if(document.getElementById('tf0').disabled == false) cena[0]=(document.ename.cena0.value-0);
if(document.getElementById('tf1').disabled == false) cena[1]=(document.ename.cena1.value-0);
for (var i = 0; i < cena.length; i++)
if(cena[i])summ += cena[i];
document.getElementById('rex').innerText=summ;
}
</script></head><body>
<form name="ename">
Колличество:
<input type="text" value="2" name="cena0" id="tf0">
Цена1:<input type="text" value="3" name="cena1" id="tf1">
Результат:<span id="rex"></span>Рубля<br><input type="button" value="Result" onClick="x()"></body></html>

лучше поздно чем никогда
долбанный JS если б не его работа на стороне клиента
цитата
13/07/07 в 09:46
 f0kin
document.getElementById не работает в мазиле, так что поаккуратнее с ним.
цитата
13/07/07 в 10:29
 Teacher-X


дык
Код:
function GetById(id) {
    if(document.getElementById) {
        return document.getElementById(id);
    }else if(document.all) {
        return document.all[id];
    }else if(document.layers) {
        return document.layers[id];
    }
    return null;
}


Эта страница в полной версии