Jump to content
php.lv forumi

Saskaitīšana JavaScript


7924

Recommended Posts

<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

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

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

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

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

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

×
×
  • Create New...