2016-03-16 4 views
-8

Я создаю форму счета-фактуры, я написал сценарий Java, чтобы рассчитать цену налогов и скидок как значение пользователя, но он просто работает в одной строке, как можно включить его для работы на всех строкахJavaScript - Как я могу запустить javascript во всех моих строках html

Javascript для расчета скидки и налог

enter image description here

Html формы

enter image description here

+3

Добро пожаловать в Stack Overflow! Пожалуйста, см. [Ask] и [mcve] Пожалуйста, [изменить] ваш вопрос, чтобы включить [mcve]. Это поможет сообществу Stack Overflow, прояснив проблему. – Tushar

+0

Неправильный способ задать вопрос. Но, начиная с первоначального взгляда на изображение, кажется, что вам нужен уникальный «id» для каждого элемента в строке. Удачи. – Bikee

+0

Для нескольких форм используйте 'class', а не' id'. Я бы также изменил mysql для mysqli. – NewToJS

ответ

0

Лучшим вариантом является, чтобы сделать этот расчет в самом PHP, но если вы хотите сделать это в Javascript вы можете сделать что-то вроде этого:

Попробуйте создать функцию JS, которая принимает во всех значениях и идентификатор выходного поля ввода и убедитесь, что идентификатор поля вывода отличается.

JS код

function calculate(unit_price, quantity, discount, tax, output_id) { 
    var subtotal = "do subtotal calc here"; 
    document.getElementById(output_id).value = subtotal; 
} 

PHP/HTML код

<?php 
    // mySQL Code goes here 
    while($row = mysql_fetch_array($result, MYSAL_ASSOC)) 
?> 
<div class="centered"> 
    <table border="1"> 
    <tr> 
     <form id = "invoiceform" action="final.php" method="post"> 
     <td><input type="text" id="Sl_no" value="<?php echo $s; ?>"></td> <!-- DO NOT INCREASE $S HERE YET--> 
     <td><input type="text" id="partno" value="<?php echo $p[$j]; ?>"></td> 
     <td><input type="text" id="description" value="<?php $row['Description']; ?>"></td> 
     <td><input type="text" id="unit_price" value="<?php echo $row['Unit_Price']; ?>"></td> 
     <td><input type="text" id="quantity" value=""></td> 
     <td><input type="text" id="discount" value=""></td> 
     <td><input type="text" id="tax" value=""></td> 
     <td><input type="text" id="<?php echo 'subtotal_'.$s;?>" value=""></td> 
     <script> 
     calculate(<?php echo $row['Unit_Price']; ?>, <?php echo $row['Quantity']; ?>, <?php echo $row['Discount']; ?>, <?php echo $row['Tax']; ?>, <?php echo 'subtotal_'.$s; s++;?>); 
     </script> 
    </tr> 
    </table> 
</div> 

P.S. Попробуйте сделать все полевые идентификаторы различными, как я сделал subtotal id разным, потому что на HTML-странице должны быть разные идентификаторы на элементах

+0

Огромное спасибо –

+0

, когда я пытаюсь использовать приведенный выше код, введите ошибку в промежуточном итоговом сообщении: Uncaught Ошибка типа: Невозможно установить значение свойства 'null' –

+0

Просто проверьте, будет ли одно имя ключа одинаковым в обоих случаях –

Смежные вопросы