Вычисление 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, а кому ты здесь пишешь?)
|
Цитата:
|
Цитата:
Цитата:
Цитата:
![]() ![]() ![]() А я хочу так ![]() |
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:19. |