7924 Posted November 20, 2007 Report Share 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ā? Link to comment Share on other sites More sharing options...
v3rb0 Posted November 20, 2007 Report Share Posted November 20, 2007 parseInt(); Link to comment Share on other sites More sharing options...
andrisp Posted November 21, 2007 Report Share Posted November 21, 2007 Vai arī, ne tik smuki, bet var1 * 1 + var2 * 1 Link to comment Share on other sites More sharing options...
Delfins Posted November 21, 2007 Report Share 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) Link to comment Share on other sites More sharing options...
andrisp Posted November 21, 2007 Report Share Posted November 21, 2007 Taisnība... Link to comment Share on other sites More sharing options...
7924 Posted November 21, 2007 Author Report Share 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! Link to comment Share on other sites More sharing options...
bubu Posted November 22, 2007 Report Share 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. Link to comment Share on other sites More sharing options...
7924 Posted November 22, 2007 Author Report Share 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);? Link to comment Share on other sites More sharing options...
Grey_Wolf Posted November 22, 2007 Report Share 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 ... Link to comment Share on other sites More sharing options...
andrisp Posted November 22, 2007 Report Share 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. Link to comment Share on other sites More sharing options...
v3rb0 Posted November 22, 2007 Report Share 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. Link to comment Share on other sites More sharing options...
7924 Posted November 22, 2007 Author Report Share Posted November 22, 2007 paldies, šitais document.getElementsByid('tavs_id'+i).value ir varen labs :) Link to comment Share on other sites More sharing options...
Recommended Posts