Добрый день. Есть веб форма для заказа товаров. Цель подсчитать итоговую сумму при формировании заказа.
Это скрипт формирования каталога из файла csv и подсчета сумм в строках при вводе количества:
Код:
|
<?PHP
$G=0;
$fileZakaz = fopen ("images/catalog/zakaz.csv","r");
while ($data = fgetcsv ($fileZakaz, 1000, ";"))
{$G++;
if ($data[0]=='head'){
echo '<tr align="center" height="30px">';
echo '<td colspan="5" class="zakazgroup">'.$data[1].'</td>';
echo '</tr>';
echo '<tr align="center" height="30px">';
echo '<td width="40%" class="zakazhead">Наименование</td>';
echo '<td width="15%" class="zakazhead">Заказ количество</td>';
echo '<td width="15%" class="zakazhead">В упаковке</td>';
echo '<td width="15%" class="zakazhead">Цена шт.</td>';
echo '<td width="15%" class="zakazhead">Сумма</td>';
echo '</tr>';
}
else {
echo '<tr align="center" valign="middle" height="40px">';
echo '<td width="40%" align="left" class="zakazrowname">'.$data[1].'</td>';
echo '<td width="15%" class="zakazrow"><input onChange=f'.$G.'() id=i'.$G.'1 type="text" size="2" maxlength="3" class="zakaz"></td>';
echo '<td width="15%" class="zakazrow"><input disabled id=i'.$G.'2 value='.$data[2].' type="text" size="2" maxlength="3" class="zakazdis"></td>';
echo '<td width="15%" class="zakazrow"><input disabled id=i'.$G.'3 value='.$data[3].' type="text" size="3" maxlength="3" class="zakazdis"></td>';
echo '<td width="15%" class="zakazrow"><input disabled id=i'.$G.'4 type="text" size="3" maxlength="3" class="zakazdis"></td>';
echo '</tr>';
echo '<script>';
echo 'function f'.$G.'(){';
echo 'var n1=document.getElementById("i'.$G.'1").value;';
echo 'var n2=document.getElementById("i'.$G.'2").value;';
echo 'var n3=document.getElementById("i'.$G.'3").value;';
echo 'document.getElementById("i'.$G.'4").value=Number(n1)*Number(n2)*Number(n3);';
echo 'alert($G);';
echo 'sum();';
echo '}';
echo '</script>';
}
}
fclose ($fileZakaz);
?> |
Это функция подсчета итоговой суммы:
Код:
|
<tr align="center" height="40px">
<td colspan="4" class="zakazgroup" align="right" style="padding-right:10px">Заказ на сумму</td>
<td width="15%" class="zakazgroup"><input disabled id=S1 type="text" size="3" maxlength="3" class="zakazdis"></td>
<script>
function sum(){
$num=1;
$sum=0;
alert($G);
while ($num <= $G) {
var n4=document.getElementById(i.$G.4).value;
alert(n4);
$sum+=Number(n4);
alert($sum);
$num++;
}
document.getElementById(S1).value=$sum;}
</script>
</tr> |
При отладке выходит ошибка " Uncaught ReferenceError: sum is not defined"
Почему не видна функция sum() ?