Foros del Web » Programando para Internet » Javascript »

atributo de lenght de array indefenido teniendo elementos cargados

Estas en el tema de atributo de lenght de array indefenido teniendo elementos cargados en el foro de Javascript en Foros del Web. Hola haber si me ayudan, tengo un array q me guarda los id de los textareas q se muestran de acuerdo al opcion elegida en ...
  #1 (permalink)  
Antiguo 14/01/2009, 09:28
 
Fecha de Ingreso: agosto-2008
Mensajes: 30
Antigüedad: 15 años, 9 meses
Puntos: 0
atributo de lenght de array indefenido teniendo elementos cargados

Hola haber si me ayudan, tengo un array q me guarda los id de los textareas q se muestran de acuerdo al opcion elegida en select multiple, va esa es la idea, pero resulta que cuando agrego el primero no hay drama, ahora para ver si funciona muestro el tamaño de vector q deberia ser 1 porque agregue, pero me sale indefinido el tamaño del vector
Aqui les dejo el codigo

var vect= new Array();
var pos=0;
var posAnt;
function mostrar_textA(de)
{ var de = document.getElementById(de);
var cant=0;
var ps;
for(var i = 0; i < de.options.length; i++ )
{ if(de.options[i].selected)
{ cant++; ps=i; }
}
if(cant==0) {return alert('No hay materia cargada');}
else if(cant > 1) { return alert('Seleccione una sola materia.Selecciono '+cant); }
else {
posic=ps;
if(pos>0)
{ return alert(buscar_textA("t"+de.options[ps].value));
if(buscar_textA("t"+de.options[ps].value)>0) { posic=buscar_textA("t"+de.options[ps].value); } }
if(posic!=ps)
{ document.getElementById(vText[posAnt]).style.visibility="hidden"; document.getElementById(vText[posic]).style.visibility="visible"; posAnt= posic; }
else { var elem = document.createElement("textarea"); elem.name="t"+de.options[pos].value;
elem.id=elem.name; elem.cols=2;
elem.rows=3;
vect.push(elem.id);
document.getElementById('consulta').appendChild(el em);
if(pos>0) { document.getElementById(vText[posAnt]).style.visibility="hidden"; document.getElementById(vText[pos]).style.visibility="visible"; } pos++; posAnt=pos; return alert(vect.lenght); } } }

Aqui llamo en php
Código PHP:
echo "<select name='m[]' id='m' size='6' multiple>";
        if(
$rdo=mysql_query("select * from materias order by mat_nom") or die("Error en Materias <br>MySQL dice: ".mysql_error()));
        
$cont=0;
        
        while(
$fila=mysql_fetch_array($rdo))
             {
                  foreach(
$m2 as $opcion
                if(
$opcion==$fila['mat_id']) 
                   {
                    
$listaB[$cont]= "<option value='$fila[mat_id]'>$fila[mat_nom]</option>";
                    
$cont++;
                   }
                  echo 
"<option value=".$fila['mat_id'].">".$fila['mat_nom']."</option>";
             }
        echo 
"</select>";
        
        echo
"<img src='imagen/botones/fondodeA+.jpg' alt='agregar' onClick=\"pasar_valores('m','m2');\"/>";
        echo
"<img src='imagen/botones/fondodeA-.jpg' alt='sacar' onClick=\"eliminar_valores('m2');\"/>";
        
        echo 
"<select name='m2[]' id='m2' size='6' multiple >";
        for(
$cont=0$cont<count($listaB);$cont++)
         {
          echo 
$listaB[$cont];
         }
        echo 
"</select>";    
        echo
"<img src='imagen/botones/fondodeA.jpg'  onClick=\"mostrar_textA('m2');\"/>";
        echo 
"<div id='consulta'></div>"
  #2 (permalink)  
Antiguo 14/01/2009, 13:06
 
Fecha de Ingreso: agosto-2008
Mensajes: 30
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: atributo de lenght de array indefenido teniendo elementos cargados

bueno funciona ahora le quite la opcion de lenght, ahora el problema es q no se como hacer para mostrar un textarea a la vez en la misma posicion, es decir q cuando seleccione un opción de select multiple, me muestre el textares asociado, creando o mostrandolo en caso de q este creado , por fa ayudaaaaaaaaaaaaaa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:04.