7924 Posted November 20, 2007 Report Posted November 20, 2007 <script> function doSelectServiceCalc(form) { var sum_result = (form.sum_result.value); var name1 = form.name1.value; var name2 = form.name2.value; var sum_result = name1 * name2 form.sum_result.value = sum_result.toFixed(2); } </script> <form name=form method=post> name1<input name=name1 onkeyup='doSelectServiceCalc(this.form)' value="1" onBlur='check_field(this)' size=20> name2<input name=name2 onkeyup='doSelectServiceCalc(this.form)' value="2" onFocus='clear_field(this)' onBlur='check_field(this)' size=20> sum_result<input name="sum_result" value=0.00 READONLY> <script>doSelectServiceCalc(this.form);</script> </form> rindiņā "var sum_result = name1 * name2" reizinās viss smuki, bet kā notiek saskaitīšana? Vienkārši "*" nomainot uz "+" matemātiska darbība nenotiek "var sum_result = name1 + name2". Kas nav ņemts vērā?
andrisp Posted November 21, 2007 Report Posted November 21, 2007 Vai arī, ne tik smuki, bet var1 * 1 + var2 * 1
Delfins Posted November 21, 2007 Report Posted November 21, 2007 andrisp, kāpēc ir jāposto "nesmuki piemēri"? Nemāci tauti glupībām... a to pieradīs (kā tas ir ar register_globals)
7924 Posted November 21, 2007 Author Report Posted November 21, 2007 Paldies par parceInt(), ar šo tiešām var arī darboties ar saskaitīšanu. paturpināšu savu sāpi :) tātad man ir kods ar html formām, kuras automātiski tiek ģenerētas ar php no datubāzes un attiecīgai formas name=name tiek lipināts klāt cipars, piemēram name=namea0, name=namea1 utt. Tad nu es gribu sataisīt javaScript funkciju tā, lai tā ņemtu pretī piemēram form.namea+i.value, kur i ir paņemts no attiecīgās formas. Šeit ir kods, kur esmu uzrakstījis funkcijā divas reizes vienu un to pašu, jo nevaru dabūt gatavu tā, lai tas automātiski mainoties i apstrādā konkrētās formas names function doSelectServiceCalc(form, i) { // izpildas, ja tiek pamainiti lauki namea1 un nameb1 sum_resulti = (form.sum_result+i.value); //šeit smuki izdodās "sum_result+i" nameai = (form.namea1.value); // bet šeit ar namea+i nekas nesanāk namebi = form.nameb1.value; // bet šeit ar nameb+i arī nekas nesanāk sum_resulti = (nameai * namebi) form.sum_result1.value = sum_resulti.toFixed(2); // te kaut kas ir jādara ar "form.sum_result1.value" tā vieninieka vietā dabūt i } Tā kā man ar JavaScript zināšanām ir kā ir, lūdzu padomu, kurā virzienā rakt!
bubu Posted November 22, 2007 Report Posted November 22, 2007 Raksti form.getElementsByName("namea" + i)[0].value, lai dabūtu konkrēta formas elementa vērtību pēc tā vārda.
7924 Posted November 22, 2007 Author Report Posted November 22, 2007 function doSelectServiceCalc(form, i) { sum_resulti = (form.getElementsByName("sum_result" + i)[0].value); nameai = form.getElementsByName("namea" + i)[0].value; namebi = form.getElementsByName("nameb" + i)[0].value; sum_resulti = (nameai * namebi) form.sum_result1.value = sum_resulti.toFixed(2); } ko nozīmē tā nulle kvadrātiekavās, jeb manā gadījumā viņu vispār var neraktsīt? un ko darīt ar šo rindu: form.sum_result1.value = sum_resulti.toFixed(2);?
Grey_Wolf Posted November 22, 2007 Report Posted November 22, 2007 vislabakais tomer ir izmantot ID ... generejot ar php pieliec klaat vel id="kautkas_0" ... var sakrist ar Name ...... un tad ielasi ar document.getElementsByid('tavs_id'+i).value.... IR gadijies ka dazji brauzeri ir stipri juutigi pret to GetElByname ...
andrisp Posted November 22, 2007 Report Posted November 22, 2007 ko nozīmē tā nulle kvadrātiekavās, jeb manā gadījumā viņu vispār var neraktsīt? Tā kā getElementsByTagName var atgriezt vairākus elementus (kā masīvu), tad galā norādot [0], tu norādi, ka tev vajadzēt tikai pirmo elementu. Tāpat kā parastam masīvam.
v3rb0 Posted November 22, 2007 Report Posted November 22, 2007 name atribūts formu postošanai uz serveri, id un tikai id atribūts klienta puses javascriptam un css'am, piekrītu Grey_Wolf, ka te labāk pielikt to id, vai ja tiešam negribi id, tad getElementsByTagName("input") dabū visus input lauciņus, un tad tālāk dari ar viņiem ko vajag.
7924 Posted November 22, 2007 Author Report Posted November 22, 2007 paldies, šitais document.getElementsByid('tavs_id'+i).value ir varen labs :)
Recommended Posts