Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2006, 11:31
quqamayor
 
Fecha de Ingreso: marzo-2006
Mensajes: 22
Antigüedad: 18 años, 1 mes
Puntos: 0
Pregunta validar campos select (dinámicos)

Hola que tal, espero alguien pueda ayudarme por favor; tengo una forma que pide 3 tipos de datos, una cantidad (text), una categoria (select) y una descripcion (textarea). Esta forma se crea cuantas veces quiera el usuario dinamicamente dependiendo de un numero que da (pueden ser 3,5 etc). Se requiere que valide la categoria (select) para que no se repita a la hora de insertar los datos. Primero valide que ningun campo este vacio:

function valida(){
var totalf = document.forma.length;
for (i=0; i<totalf; i++){
if (document.forma.elements[i].value == "" ||
document.forma.elements[i].value == "-99"){
alert("No debes dejar vacio ningun campo!!") ;
document.forma.elements[i].focus() ;
return false ;
}//fin if vacios
}//fon for
document.forma.submit();
}//fin function

Me falta validar que los campos categoria(select) no se repitan, pero es ahi en donde me atore por cuestiones de los corchetes que lleva:

<select name="cuentaCont[]">
<option value="-99">--Seleccione--</option>
<? for($j=0; $j<$lista; $j++){
$datoCuenta = mysql_fetch_array($qryCuenta); ?>
<option value="<?=$datoCuenta[0]?>"><?=$datoCuenta[2]?></option>
<? } ?>
</select>

E buscado algunos ejemplos en internet pero ninguno muestra cuando es por medio de un for...eh intentado de varias formas erroneas...

1) Ponerlo tal cual
if (document.forma.elements[i].value == document.forma.elements[i].value)
etc...pero compara el mismo elemento cuentaCont[0]==cuentaCont[0] en
lugar de comparar cuentaCont[0]==cuentaCont[1]...entonces siempre me
marca que son iguales...
2) Asignar valores a variables
var cuenta = document.forma.('cuentaCont[]');
var numcta = cuenta.selectedIndex;
if (document.forma.elements[i].value == numcta){
pero aqui no me reconoce el ('cuentaCont[]') marca error de "XML filtering
predicate operator called on incompatible HTMLFormElement"...

Obvio todo esto lo estoy poniendo en un for para que vaya corriendo cada elemento...espero alguien pueda darme alguna otra idea de como resolver esto...gracias!!