Вычисление javascript
Есть код жс точнее кусок
<script type="text/javascript" >
function getNum1(d1_1,y1_1,d2_1, y2_1,d3_1, y3_1,d4_1, y4_1,d5_1, y5_1, da1_1
{
var k1 = 1;
var k2 = 2;
var k3 = 2;
var k4 = 1;
var k5 = 1;
// alert(val);
// if(d1_1>25){d1_1=25}
var nb1= ((((4*d1_1)-y1_1)+da1_1))*k1;
добавил переменную da1_1 и для ввода этого написал но ошибку NaN даёт <td align="center" ><input name="da1_1" type="text" class="form" id="da1_1" size="3" maxlength="2" /> </td>НЕ РАБОТАНТ ХЕЛп ПЛИЗ :help: |
http://javascript.ru/NaN
Как правило, оно используется для обозначения ошибки при математических операциях. Вместо генерации исключения, функция возвращает NaN. |
Как исправить
Цитата:
|
Цитата:
Цитата:
|
А как иначе сделать
Цитата:
|
PHP Useless,
function getNum1(a) {
}
var c = document.getElementById('da1_1').value;
getNum1(c)
|
Цитата:
ведь все остальные работают |
PHP Useless,
лучше не использовать одинаковые названия переменных и id |
Цитата:
<script type="text/javascript" >
function getNum1(d1_1, y1_1,d2_1, y2_1,d3_1, y3_1,d4_1, y4_1,d5_1, y5_1)
{
var k1 = 1;
var k2 = 2;
var k3 = 2;
var k4 = 1;
var k5 = 1;
// alert(val);
// if(d1_1>25){d1_1=25}
var nb1= ((4*d1_1)-y1_1)*k1;
var nb2= ((4*d2_1)-y2_1)*k2;
var nb3= ((4*d3_1)-y3_1)*k3;
var nb4= ((4*d4_1)-y4_1)*k4;
var nb5= ((4*d5_1)-y5_1)*k5;
var nb= (nb1+nb2+nb3+nb4+nb5);
|
Цитата:
|
Цитата:
|
Цитата:
|
PHP Useless, помоги мне помочь тебе...
|
Цитата:
|
PHP Useless,
может опишите задачу что хотите сделать? |
PHP Useless, а кому ты здесь пишешь?)
|
Цитата:
|
Цитата:
Цитата:
Цитата:
то есть столбцы D, Y, FB, а вот я хочу добавить ещё один столбец D-A, как на тестовом вот так добавил , И вот теперь хочу добавить функции сейчас функция такая ![]() А я хочу так А код жавы открытый (Просмотр кода страницы)ВОТ ВСЁ:help: |
PHP Useless,
k1 откуда берёте? |
Цитата:
|
Цитата:
<script type="text/javascript" >
function getNum1(d1_1, y1_1,d2_1, y2_1,d3_1, y3_1,d4_1, y4_1,d5_1, y5_1)
{
var k1 = 1;
var k2 = 2;
var k3 = 2;
var k4 = 1;
var k5 = 1;
// alert(val);
// if(d1_1>25){d1_1=25}
var nb1= ((4*d1_1)-y1_1)*k1;
var nb2= ((4*d2_1)-y2_1)*k2;
var nb3= ((4*d3_1)-y3_1)*k3;
var nb4= ((4*d4_1)-y4_1)*k4;
var nb5= ((4*d5_1)-y5_1)*k5;
var nb= (nb1+nb2+nb3+nb4+nb5);
var numb = document.getElementById('result1');
var numb1 = document.getElementById('result1_1');
var numb2 = document.getElementById('result1_2');
var numb3 = document.getElementById('result1_3');
var numb4 = document.getElementById('result1_4');
var numb5 = document.getElementById('result1_5');
if(navigator.appName == "Microsoft Internet Explorer")
{ numb.innerText = nb;
numb1.innerText = nb1;
numb2.innerText = nb2;
numb3.innerText = nb3;
numb4.innerText = nb4;
numb5.innerText = nb5;
}
else
{ var numb = document.getElementById('result1');
numb.textContent = nb;
numb1.textContent = nb1;
numb2.textContent = nb2;
numb3.textContent = nb3;
numb4.textContent = nb4;
numb5.textContent = nb5;
}
}
|
общая сумма для строк в таблице
PHP Useless,
важно правильно прописать классы как в примере в каждой таблице ...
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<table width="400" class="qrup" >
<thead>
<tr>
<th>Fənnlər</th>
<th>D</th>
<th>Y</th>
<th>FB</th>
</tr>
</thead>
<tbody>
<tr class="study">
<td>Ana dili</td>
<td><input name=""></td>
<td><input name=""></td>
<td class="interim"></td>
</tr>
<tr class="study">
<td>Riyaziyyat</td>
<td><input name=""></td>
<td><input name=""></td>
<td class="interim"></td>
</tr>
<tr class="study">
<td>Fizika</td>
<td><input name=""></td>
<td><input name=""></td>
<td class="interim"></td>
</tr>
<tr>
<td colspan="2" ></td>
<td >Sizin Balınız</td>
<td class="result"></td>
</tr>
</tbody>
</table>
<table width="400" class="qrup" >
<thead>
<tr>
<th>Fənnlər</th>
<th>D</th>
<th>D-A</th>
<th>Y</th>
<th>FB</th>
</tr>
</thead>
<tbody>
<tr class="study">
<td>Ana dili</td>
<td><input name=""></td>
<td><input name=""></td>
<td><input name=""></td>
<td class="interim"></td>
</tr>
<tr class="study">
<td>Riyaziyyat</td>
<td><input name=""></td>
<td><input name=""></td>
<td><input name=""></td>
<td class="interim"></td>
</tr>
<tr class="study">
<td>Fizika</td>
<td><input name=""></td>
<td><input name=""></td>
<td><input name=""></td>
<td class="interim"></td>
</tr>
<tr>
<td colspan="3" ></td>
<td>Sizin Balınız</td>
<td class="result"></td>
</tr>
</tbody>
</table>
<script>
var fb = [function(a, b) { //формулы для каждой таблицы по порядку
return 1 * (4 * a - b) //k1 = 1
}, function(a, b, c) {
return 2 * (4 * a - b + c) //k1 = 2
}],
total = function(a) {
return a.reduce(function(a, b) {
return a + b
}, 0)
};
[].forEach.call(document.querySelectorAll(".qrup"), function(table, i) {
var sum = [],
result = table.querySelector(".result");
[].forEach.call(table.querySelectorAll(".study"), function(tr, k) {
var temp = [],
interim = tr.querySelector(".interim");
sum[k] = 0;
[].forEach.call(tr.querySelectorAll("input"), function(input, j) {
temp[j] = 0;
input.addEventListener("input", function() {
var val = +input.value || 0;
input.value = temp[j] = val;
sum[k] = fb[i].apply(null, temp);
interim.innerHTML = sum[k];
result.innerHTML = total(sum)
})
})
})
});
</script>
</body>
</html>
|
Цитата:
|
Цитата:
Химия(1) Иностранный язык(1) |
Цитата:
var fb = [function(a, b, с) {
return 1 * (4 * a - b + 4*с) //k1 = 1
}, function(a, b, c) {
return 2 * (4 * a - b + 4*c) //k1 = 2
должно быть так (4*D+4*D-A)*1 или 2 в зависимости от предмета (математика 2 а вот родной язык 1) |
PHP Useless, попробуйте разобраться, коэффициент добавляет в теге предмета data-k, функции изменены
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<table width="400" class="qrup" >
<thead>
<tr>
<th>Fənnlər</th>
<th>D</th>
<th>Y</th>
<th>FB</th>
</tr>
</thead>
<tbody>
<tr class="study" data-k="1">
<td>Родной язык</td>
<td><input name=""></td>
<td><input name=""></td>
<td class="interim"></td>
</tr>
<tr class="study" data-k="2">
<td>Математика</td>
<td><input name=""></td>
<td><input name=""></td>
<td class="interim"></td>
</tr>
<tr class="study" data-k="2">
<td>Физика</td>
<td><input name=""></td>
<td><input name=""></td>
<td class="interim"></td>
</tr>
<tr>
<td colspan="2" ></td>
<td >Sizin Balınız</td>
<td class="result"></td>
</tr>
</tbody>
</table>
<table width="400" class="qrup" >
<thead>
<tr>
<th>Fənnlər</th>
<th>D</th>
<th>D-A</th>
<th>Y</th>
<th>FB</th>
</tr>
</thead>
<tbody>
<tr class="study" data-k="1">
<td>Родной язык</td>
<td><input name=""></td>
<td><input name=""></td>
<td><input name=""></td>
<td class="interim"></td>
</tr>
<tr class="study" data-k="2">
<td>Математика</td>
<td><input name=""></td>
<td><input name=""></td>
<td><input name=""></td>
<td class="interim"></td>
</tr>
<tr class="study" data-k="2">
<td>Физика</td>
<td><input name=""></td>
<td><input name=""></td>
<td><input name=""></td>
<td class="interim"></td>
</tr>
<tr>
<td colspan="3" ></td>
<td>Sizin Balınız</td>
<td class="result"></td>
</tr>
</tbody>
</table>
<script>
var fb = [function(a, b) { //формулы для каждой таблицы по порядку
return 4 * a - b
}, function(a, b, c) {
return 4 * a + b - c
}],
total = function(a) {
return a.reduce(function(a, b) {
return a + b
}, 0)
};
[].forEach.call(document.querySelectorAll(".qrup"), function(table, i) {
var sum = [],
result = table.querySelector(".result");
[].forEach.call(table.querySelectorAll(".study"), function(tr, n) {
var temp = [],
interim = tr.querySelector(".interim"), k = +tr.dataset.k||1;
sum[n] = 0;
[].forEach.call(tr.querySelectorAll("input"), function(input, j) {
temp[j] = 0;
input.addEventListener("input", function() {
var val = +input.value || 0;
input.value = temp[j] = val;
sum[n] = fb[i].apply(null, temp) * k;
interim.innerHTML = sum[n];
result.innerHTML = total(sum)
})
})
})
});
</script>
</body>
</html>
|
Цитата:
<table width="400" class="qrup" >
013
<thead>
014
<tr>
015
<th>Fənnlər</th>
016
<th>D</th>
017
<th>Y</th>
018
<th>FB</th>
019
</tr>
020
</thead>
021
<tbody>
022
<tr class="study" data-k="1">
023
<td>Родной язык</td>
024
<td><input name=""></td>
025
<td><input name=""></td>
026
<td class="interim"></td>
027
</tr>
028
<tr class="study" data-k="2">
029
<td>Математика</td>
030
<td><input name=""></td>
031
<td><input name=""></td>
032
<td class="interim"></td>
033
</tr>
034
<tr class="study" data-k="2">
035
<td>Физика</td>
036
<td><input name=""></td>
037
<td><input name=""></td>
038
<td class="interim"></td>
039
</tr>
040
<tr>
041
<td colspan="2" ></td>
042
<td >Sizin Balınız</td>
043
<td class="result"></td>
044
</tr>
045
</tbody>
046
</table>
|
Цитата:
|
Цитата:
|
PHP Useless,
ненадо копировать сообщения целиком, всё что мог написано выше, вникайте находите зависимости, смотрите код и не пихайте всё в html, есть и css для красоты. |
Цитата:
|
PHP Useless,
важно только классы у table => class="qrup" у строк предметов tr => class="study" data-k="1" куда выводить td => class="interim" общий результат td => class="result" остальное куда хотите и что хотите массив fb только заполните по количеству таблиц. всё |
Цитата:
<table width="100" class="qru" >
<thead>
<tr>
<th bgcolor="#E0E0E0">Fənnlər</th>
<th bgcolor="#E0E0E0">D</th>
<th bgcolor="#E0E0E0">D-A</th>
<th bgcolor="#E0E0E0">Y</th>
<th bgcolor="#E0E0E0">FB</th>
</tr>
</thead>
<tbody>
<tr class="stud" data-k="1">
<td>sdfds</td>
<td><input name="" size="3" maxlength="2"></td>
<td><input name=""size="3" maxlength="2"></td>
<td><input name="" size="3" maxlength="2"></td>
<td class="interi" ></td>
</tr>
<tr class="stud" data-k="2">
<td>Riyaziyyat</td>
<td><input name="" size="3" maxlength="2"></td>
<td><input name="" size="3" maxlength="2"></td>
<td><input name="" size="3" maxlength="2"></td>
<td class="interi"></td>
</tr>
<tr class="stud" data-k="2">
<td>Fizika</td>
<td><input name="" size="3" maxlength="2"></td>
<td><input name="" size="3" maxlength="2"></td>
<td><input name="" size="3" maxlength="2"></td>
<td class="interi"></td>
</tr>
<tr class="stud" data-k="1">
<td>Kimya</td>
<td><input name="" size="3" maxlength="2"></td>
<td><input name="" size="3" maxlength="2"></td>
<td><input name="" size="3" maxlength="2"></td>
<td class="interi"></td>
</tr>
<tr class="stud" data-k="1">
<td>Xarici dil</td>
<td><input name="" size="3" maxlength="2"></td>
<td><input name="" size="3" maxlength="2"></td>
<td><input name="" size="3" maxlength="2"></td>
<td class="interi"></td>
</tr>
<tr>
<td colspan="3" ></td>
<td>Sizin Balınız:</td>
<td class="resul"></td>
</tr>
</tbody>
</table>
<script>
var fb = [ function(a, b, c) {
return 4 * a + 4*b - c
}],
total = function(a) {
return a.reduce(function(a, b) {
return a + b
}, 0)
};
[].forEach.call(document.querySelectorAll(".qru"), function(table, i) {
var sum = [],
resul = table.querySelector(".resul");
[].forEach.call(table.querySelectorAll(".stud"), function(tr, n) {
var temp = [],
interi = tr.querySelector(".interi"), k = +tr.dataset.k||1;
sum[n] = 0;
[].forEach.call(tr.querySelectorAll("input"), function(input, j) {
temp[j] = 0;
input.addEventListener("input", function() {
var val = +input.value || 0;
input.value = temp[j] = val;
sum[n] = fb[i].apply(null, temp) * k;
interim.innerHTML = sum[n];
result.innerHTML = total(sum)
})
})
})
});
</script>
|
PHP Useless,
строка 76 и 77 |
Цитата:
|
PHP Useless,
читайте про css - одно только непойму зачем два скрипта делать ? один скрипт расчитан на любое количество таблиц |
Цитата:
|
Цитата:
|
PHP Useless,
хоть 1000 групп -- хватит одного скрипта |
Цитата:
|
| Часовой пояс GMT +3, время: 14:49. |