0
- 21.05.2013 - 08:26
|
Доброго дня! Вот какой вопрос. Есть вот какой код ...... <script language='javascript'> function do_math(f) ** var kgshtuk= f.elements['kgshtuk_1'].value; var shtukbox= f.elements['shtukbox_1'].value; var res =kgshtuk/parseInt(shtukbox); f.elements['box_1'].value = isNaN(res.toPrecision(5)) ? '' : res.toFixed(0); var SPRC = f.elements['SPRC_1'].value; var box = f.elements['box_1'].value; var rez=box/parseInt(SPRC); f.elements['pallet_1'].value = isNaN(rez.toPrecision(1)) ? '' : rez.toFixed(1); ** </script> <?php **$result=mysql_query("SELECT pole1, pole2, pole3, pole4, pole5 FROM table1"); $colcount=mysql_num_fields($result); print ("<table>"); print ("<tr>"); print ("<th>№<br />п/п</th>"); print ("<th>Значение1</th>"); print ("<th>Значение2</th>"); print ("<th>Значение3</th>"); print ("<th>Значение4</th>"); print ("<th>Значение5</th></tr>"); $z=0; while ($row=mysql_fetch_row($result)) **$z++; print ("<td><input type=\"text\" style=\"width:40px;\" value='$z' readonly></td>\n"); print ("<td width=30px><input type=\"text\" style=\"width:100%;\" value='$row[0]' name=\"kgshtuk_$z\" onChange=\"do_math(this.form)\" readonly></td>\n"); print ("<td width=30px><input type=\"text\" style=\"width:100%;background-color:pink;\" value='$row[1]' name=\"shtukbox_$z\" onChange=\"do_math(this.form)\"></td>\n"); print ("<td width=30px><input type=\"text\" style=\"width:100%;\" value='$row[2]' name=\"box_$z\" readonly></td>\n"); print ("<td width=30px><input type=\"text\" style=\"width:100%;background-color:pink;\" value='$row[3]' name=\"SPRC_$z\" onChange=\"do_math(this.form)\"></td>\n"); print ("<td width=30px><input type=\"text\" style=\"width:100%;\" value='$row[4]' name=\"pallet_$z\" onChange=\"do_math(this.form)\" readonly></td>\n"); print ("</TR>\n"); ** ** ?> И пересчёт в полях происходит только в первой строчке Безумно не хотелось бы рисовать кучу одинаковых скриптов в котором разница лишь будет в именах Как можно передать в скрипт значение этой самой $z в название нужного мне строчки? Спасибо | |
1
- 21.05.2013 - 09:41
| Научились бы сначала яваскрипт от явы отличать... | |
2
- 21.05.2013 - 10:02
|
1-robot bender 0002 > это рабочий скрипт... только он работает лишь на первую строку... и не хотелось бы писать var kgshtuk= f.elements['kgshtuk_1'].value; var shtukbox= f.elements['shtukbox_1'].value; var res =kgshtuk/parseInt(shtukbox); f.elements['box_1'].value = isNaN(res.toPrecision(5)) ? '' : res.toFixed(0); var SPRC = f.elements['SPRC_1'].value; var box = f.elements['box_1'].value; var rez=box/parseInt(SPRC); f.elements['pallet_1'].value = isNaN(rez.toPrecision(1)) ? '' : rez.toFixed(1); var kgshtuk= f.elements['kgshtuk_2'].value; var shtukbox= f.elements['shtukbox_2'].value; var res =kgshtuk/parseInt(shtukbox); f.elements['box_2'].value = isNaN(res.toPrecision(5)) ? '' : res.toFixed(0); var SPRC = f.elements['SPRC_2'].value; var box = f.elements['box_2'].value; var rez=box/parseInt(SPRC); f.elements['pallet_2'].value = isNaN(rez.toPrecision(1)) ? '' : rez.toFixed(1); ...... а вставить некую $z в название необходимых расчётных полей | |
3
- 21.05.2013 - 13:05
|
примерно так <script language='javascript'> function do_math(f)** var tbl = document.getElementById("table"); allThs = tbl.getElementsByTagName('tr'); for (i=1; i<allThs.length; i++)** var kgshtuk= f.elements['kgshtuk_'+i].value; var shtukbox= f.elements['shtukbox_'+i].value; var res =kgshtuk/parseInt(shtukbox); f.elements['box_'+i].value = isNaN(res.toPrecision(5)) ? '' : res.toFixed(0); var SPRC = f.elements['SPRC_'+i].value; var box = f.elements['box_'+i].value; var rez=box/parseInt(SPRC); f.elements['pallet_'+i].value = isNaN(rez.toPrecision(1)) ? '' : rez.toFixed(1); ** ** </script> <?php ** $result=mysql_query("SELECT pole1, pole2, pole3, pole4, pole5 FROM table1"); $colcount=mysql_num_fields($result); print ("<form><table id='table'>"); print ("<tr>"); print ("<th>№<br />п/п</th>"); print ("<th>Значение1</th>"); print ("<th>Значение2</th>"); print ("<th>Значение3</th>"); print ("<th>Значение4</th>"); print ("<th>Значение5</th></tr>"); $z=0; while ($row=mysql_fetch_row($result))** $z++; print ("<td><input type=\"text\" style=\"width:40px;\" value='$z' readonly></td>\n"); print ("<td width=30px><input type=\"text\" style=\"width:100%;\" value='$row[0]' name=\"kgshtuk_$z\" onChange=\"do_math(this.form)\" readonly></td>\n"); print ("<td width=30px><input type=\"text\" style=\"width:100%;background-color:pink;\" value='$row[1]' name=\"shtukbox_$z\" onChange=\"do_math(this.form)\"></td>\n"); print ("<td width=30px><input type=\"text\" style=\"width:100%;\" value='$row[2]' name=\"box_$z\" readonly></td>\n"); print ("<td width=30px><input type=\"text\" style=\"width:100%;background-color:pink;\" value='$row[3]' name=\"SPRC_$z\" onChange=\"do_math(this.form)\"></td>\n"); print ("<td width=30px><input type=\"text\" style=\"width:100%;\" value='$row[4]' name=\"pallet_$z\" onChange=\"do_math(this.form)\" readonly></td>\n"); print ("</TR>\n"); ** print ("</table></form>"); ** ?> | |
4
- 21.05.2013 - 15:25
|
3-Kuba > СУПЕР!!!! Спасибо огромнейшее!!!!!!! Всё работает.... А почему на форуме не отображаются фигурные скобки?)))) | |
| Интернет-форум Краснодарского края и Краснодара |