Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/11/2005, 11:43
yacatl
 
Fecha de Ingreso: septiembre-2002
Ubicación: México
Mensajes: 356
Antigüedad: 22 años, 3 meses
Puntos: 0
Cabeza dura, como le hago?

Hola que tal...

Tengo un formulario, el cual, dependiendo del resultado de un <select>, ejecuta ajax para pintar en la celda de abajo ya sea uno o bien dos campos de texto más, ya que dependiendo del usuario, se necesitan más o menos campos para el registro. Todo eso vá muy bien, no tengo problema para que me lo haga.

El problema es que el botón de enviar el formulario ejecuta otro ajax en el cual envío el formulario y estos campos pontados no son enviados, de hecho el ajax no se ejecuta si agrego esos campos. Mi código es el siguiente.

formulario.php
Código PHP:
<select name="tusu" class="navLink" id="tusu" onChange="chkTipoUsu();">
                            <
option value="-99" selected>Selecciona de la lista</option>
                            <
option value="2">Vendedora</option>
                            <
option value="3">Expositor</option>
                        </
select></td>
                      </
tr>
                      <
tr>
                        <
td colspan="2" align="center" id="showajax">&nbsp;</td>
                      </
tr

1er ajax
Código PHP:
    contenedor document.getElementById('showajax');
    
tipo document.getElementById('tusu').value;
    
ajax=nuevoAjax();
    
ajax.open("GET""../ajax/afusu.php?d1="+tipo,true);
    
ajax.onreadystatechange=function() {
        if (
ajax.readyState==4) {
            
contenedor.innerHTML ajax.responseText
        
}
    }
    
ajax.send(null
2do ajax
Código PHP:
    resul document.getElementById('registro');
    
todo = new Array(9);
    
d1document.getElementById('tusu').value;
    
d2 document.getElementById('nom').value;
    
d3 document.getElementById('pat').value;
    
d4 document.getElementById('mat').value;
    
d5 document.getElementById('tel').value;
    
d6 document.getElementById('fax').value;
    
d7 document.getElementById('mail').value;
    
    
todo[1] = d1;
    
todo[2] = d2;
    
todo[3] = d3;
    
todo[4] = d4;
    
todo[5] = d5;
    
todo[6] = d6;
    
todo[7] = d7;
    
    if(
tusu == 2)
    {
    
todo[8] = document.getElementById('usu').value;
    
todo[9] = document.getElementById('cla').value;
    }else if(
tusu == 3)
            
todo[8] = document.getElementById('lic').value;
            
    
ajax=nuevoAjax();
    
ajax.open("POST""../ajax/xusu.php",true);
    
ajax.setRequestHeader("Content-Type""application/x-www-form-urlencoded"); // Cabecera para envío de Formulario
    
ajax.onreadystatechange=function() {
        if (
ajax.readyState==4) {
            
resul.innerHTML ajax.responseText
        
}
    }
    
ajax.send("d1="+todo
Y bueno, todo falla en esta parte de ese segundo ajax...

if(tusu == 2)
{
todo[8] = document.getElementById('showajax').value;
todo[9] = document.getElementById('cla').value;
}else if(tusu == 3)
todo[8] = document.getElementById('lic').value;


que es donde agrego los valores de los campos de texto pintados por el pirmer ajax.


Saludos!!