Newsgroup: it.comp.lang.javascript
Titolo: problema parametrizzare funzione

Ciao a tutti ho questo script,
<SCRIPT>
function verifica()
	{
var aa=false;
        lungo=document.form1.campo1.value.length;
        if (lungo >= 3)
         {  
	inp=document.form1.campo1.value;
	re = /^[0-9a-zA-Z]/;
        aa=re.test(inp);
        if ( aa == false) {alert('Inserire solo lettere (a-z) e/o
numeri! \n Only a/z chars and/or digits!');}
        return aa;
        }
        else
        {
         alert('Devi inserire almeno tre caratteri! \n At least 3
chars!');
         return false;
        }
	}
</SCRIPT>
mi servirebbe inserirlo in una pagina dove ho più di un form e quindi
dovrei parametrizzare 
document.form1.campo1.value.length
assegnando il giusto form e il relativo campo
guardando esempi qua e la ho provato diverse strade senza saltarci
fuori...
qualche aiuto
ciao pippo

 assegnando il giusto form e il relativo campo
La domanda non è molto chiara perché quello che chiedi dipende dal
contesto...se vuoi verificare che tutti i campi siano numerici allora puoi
ciclarli, se devi verificare un singolo campo puoi passarlo direttamente
alla function. Dipende inoltre molto da *quando* e *da chi* viene invocata
questa function.
-- 
"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.

 assegnando il giusto form e il relativo campo
Rimaneggiando la tua funzione:
function verificaCampo(obj){
	if (obj.value.length >=3){
		if (/^[0-9a-zA-Z]+$/.test(obj.value)==false ){
			alert('Inserire solo lettere (a-z) e/o numeri! \n Only a/z chars and/or
digits!');
			return false;
		}else{
			return true;
		}
	}else{
		alert("Devi inserire almeno tre caratteri!\nAt least 3 chars!");
		return false;
	}
 
};
 
E poi da codice la richiami impostando il riferimento al tuo oggetto:
verificaCampo(document.form1.campo1);
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

questa function.
Allora viene invocata sull'onsubmit del form, devo verificare un
singolo campo, però il mio problema era questo parametrizzarla perchè
la devo usare in pagine dove le form possono essere più di due...

 la devo usare in pagine dove le form possono essere piů di due...
Se passi this nell'onsubmit ottieni il riferimento della form che sta
scatenando l'evento, puň bastare?
-- 
"e mai che mi sia venuto in mente
 di essere piů ubriaco di voi
 di essere molto piů ubriaco di voi"
									  F.D.A.

scatenando l'evento, puň bastare?
no perchč ho provato ma non mi restituisce nulla con il this!??!?
ora mi fai venire dei dubbi che abbia magari scazzato qualcosa, il
this cosa dovrebbe passare
1) document.nomeform.nomecampo
2) nomeform.nomecampo
3)document.nomeform.nomecampo.value
o cos'altro???

come complicarsi la vita!!! :-)
e io che mi passavo i valori separati e poi ercavo di unirli dentro
alla funzione!!
credo di averne provate diverse ma la più semplice, quella che hai
postato tu! no!!! :-)
grazie mille

 3)document.nomeform.nomecampo.value
Nessuno dei 3...come ti dicevo col this passi il riferimento al form che
sta scatenando l'evento (quindi document.nomeform). Poi dipende sempre dal
contesto, se il campo che devi verificare ha sempre per esempio il name
uguale sei a posto, se è sempre la prima text sei a posto etc etc.
Altrimenti puoi passare, anziché this, this.elements['nametuatextbox'] e
passi il riferimento alla text (function prova(sender) {}). Da lì per
risalire al form usi sender.form .


risalire al form usi sender.form .
ottimo!!
grazie dei consigli.
ciao pippo