Newsgroup: it.comp.lang.javascript
Titolo: controllo javascript su array dinamico php

Ciao, vi pogo il mio quesito...
Nella pagina estraggo tramite query php dei record dal db e creo tanti
campi uguali (sottoforma di array, però per  indice prendo il campo id
del record ).
Es: risultato query 3 record:
id_record = 4  text cognome[4] ; text nome[4]
id_record = 7  text cognome[7] ; text nome[7]
id_record = 11  text cognome[11] ; text nome[11]
Il problema è che devo fare dei controlli su queste text per farsì
che in una funzione di validazione del form che ho creato vengano
controllati che non siano nulli, ma non so come accedervi!
Se erano con indice sequenziale facevo un ciclo for, ma siccome è un
indice sfalzato non so come affrontare il problema.
Non c'è per caso un foreach tipo php?!!??
Suggerimenti, please?!!?!?!?!!
Thanks

 indice sfalzato non so come affrontare il problema.
dipende ... se la form č la prima:
a) for(var i=0,objs=document.forms[0].elements;i<objs.length;i++)
    if(objs[i].type=="text"&&objs[i].tagName=="input")
     alert("trovato id "+objs[i].id);
se hai solo quei text:
b) for(var
i=0,objs=document.getElementsByTagName("input");i<objs.length;i++)
 //come sopra, non serve verificare il tagName ovviamente
altrimenti varie combinate tra le due (la prima č piů compatibile col
passato).
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

      alert("trovato id "+objs[i].id);
Ho implementato il tuo codice in questa maniera:
	for (var i=0,objs=document.forms[1].elements;i<objs.length;i++) {
		if( (objs[i].type=="text") && ((objs[i].id=="nr_doc[1]") ||
(objs[i].id=="nr_doc[2]") || (objs[i].id=="nr_doc[3]") ||
(objs[i].id=="nr_doc[4]") || (objs[i].id=="nr_doc[5]")) ) {
			if (objs[i].value == "") {
				alert (objs[i].name + "è obbligatorio")
				objs[i].focus()
				return false
			}
		}
Come approccio va quasi bene, il mio problema però è che non ho solo
queste text che mi creo in dinamico, ma mi creo 4 campi text e una
select in dinamico per ogni record, ma solo su 2(1 text e 1 select)
devo fare il controllo che non siano vuote.
Quindi la difficoltà sta nel fatto che nell'esempio postato non  posso
fare il controllo solo sui 2 campi che mi servono, ma viene effettuato
su tutte le text.
Es:
id_record = 4  text cognome[4] ; text nome[4]; text indirizzo[4];
selectcitta[4]; text tel[4]
id_record = 7  text cognome[7] ; text nome[7] text indirizzo[7]; select
citta[7]; text tel[7]
id_record = 11  text cognome[11] ; text nome[11]  text indirizzo[11];
select citta[11]; text tel[11]
Il controllo dovrebbe fare una cosa del genere:
per ogni text cognome e ogni select citta se cognome="" o citta =""
alert(Errore)
C'è un modo per fare questa cosa?!?!?
Thanks

 devo fare il controllo che non siano vuote.
beh, ma in objs[i] hai la tua textbox, da qua puoi farci quel che vuoi.
Per esempio verificare che il name inizi per "cognome":
 if(objs[i].name.indexOf("cognome")==0 && objs[i].value=="") {
  alert("errore...");
-- 
"e mai che mi sia venuto in mente
 di essere più ubriaco di voi
 di essere molto più ubriaco di voi"
									  F.D.A.

   alert("errore...");
Perfetto, era proprio quello che mi serviva! Mi sei stato davvero di
grande aiuto!
Molte grazie.
P.S.: come si fa a includere il testo, quando si risponde ad un post,
con " - Mostra testo tra virgolette -"?!?!

 con " - Mostra testo tra virgolette -"?!?!
a me fa tutto il mio newsreader (Dialog), se usi OE 2 cose: o sei un
masochista (e allora ben venga [per te], ovviamente!) o non sai quanto fa
schifo... :-)
-- 
"Voi abili a tenere sempre un piede qua e uno là
 avrete un avvenire certo in questo mondo qua
 però la dignità
 dove l'avete persa?"
									    V.R.