php.lv forumi: Saskaitīšana JavaScript - php.lv forumi

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Saskaitīšana JavaScript manīgie no formām

#1 User is offline   7924 

  • Skriptu bērns
  • PipPip
  • Group: Reģistrētie lietotāji
  • Posts: 55
  • Joined: 2006.08.01

  Posted 2007.11.21 00:48

<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ā?

#2 User is offline   v3rb0 

  • " alt=""/>
  • PipPipPipPipPip
  • Group: Reģistrētie lietotāji
  • Posts: 3,033
  • Joined: 2003.05.15

Posted 2007.11.21 01:26

parseInt();
es te biju..

#3 User is offline   andrisp 

  • Koda dievs
  • PipPipPipPipPip
  • Group: Moderatori
  • Posts: 8,532
  • Joined: 2005.04.12

Posted 2007.11.21 10:01

Vai arī, ne tik smuki, bet var1 * 1 + var2 * 1
Mani var atrast http://apblog.lv/

#4 User is offline   Delfins 

  • Koda dievs
  • PipPipPipPipPip
  • Group: Reģistrētie lietotāji
  • Posts: 3,880
  • Joined: 2003.02.18

Posted 2007.11.21 11:54

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)
MSSQL Certified
MBS Axapta Certified
--
[url="http://delfins.id.lv"]http://delfins.id.lv[/url]
.... ....... _ o
... ... .. _\ \>
.... ....(_)/(_)

#5 User is offline   andrisp 

  • Koda dievs
  • PipPipPipPipPip
  • Group: Moderatori
  • Posts: 8,532
  • Joined: 2005.04.12

Posted 2007.11.21 12:11

Taisnība...
Mani var atrast http://apblog.lv/

#6 User is offline   7924 

  • Skriptu bērns
  • PipPip
  • Group: Reģistrētie lietotāji
  • Posts: 55
  • Joined: 2006.08.01

Posted 2007.11.22 01:52

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!

#7 User is offline   bubu 

  • Koda dievs
  • PipPipPipPipPip
  • Group: Administratori
  • Posts: 9,196
  • Joined: 2004.03.16

Posted 2007.11.22 02:03

Raksti form.getElementsByName("namea" + i)[0].value, lai dabūtu konkrēta formas elementa vērtību pēc tā vārda.

#8 User is offline   7924 

  • Skriptu bērns
  • PipPip
  • Group: Reģistrētie lietotāji
  • Posts: 55
  • Joined: 2006.08.01

Posted 2007.11.22 02:16

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);?


#9 User is offline   Grey_Wolf 

  • Koda dievs
  • PipPipPipPipPip
  • Group: Reģistrētie lietotāji
  • Posts: 4,034
  • Joined: 2004.12.11

Posted 2007.11.22 08:02

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 ...

#10 User is offline   andrisp 

  • Koda dievs
  • PipPipPipPipPip
  • Group: Moderatori
  • Posts: 8,532
  • Joined: 2005.04.12

Posted 2007.11.22 08:34

Quote

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.
Mani var atrast http://apblog.lv/

#11 User is offline   v3rb0 

  • " alt=""/>
  • PipPipPipPipPip
  • Group: Reģistrētie lietotāji
  • Posts: 3,033
  • Joined: 2003.05.15

Posted 2007.11.22 11:04

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.
es te biju..

#12 User is offline   7924 

  • Skriptu bērns
  • PipPip
  • Group: Reģistrētie lietotāji
  • Posts: 55
  • Joined: 2006.08.01

Posted 2007.11.22 23:54

paldies, šitais document.getElementsByid('tavs_id'+i).value ir varen labs :)

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic