Foros del Web » Programando para Internet » Javascript »

cambiar css a código generado con ajax

Estas en el tema de cambiar css a código generado con ajax en el foro de Javascript en Foros del Web. buenos días, antes de poner código, quiero hacer la siguiente pregunta: ¿es posible cambiar el value y poner disabled a false en el campo de ...
  #1 (permalink)  
Antiguo 16/09/2013, 05:02
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
cambiar css a código generado con ajax

buenos días,

antes de poner código, quiero hacer la siguiente pregunta:

¿es posible cambiar el value y poner disabled a false en el campo de un formulario generado con ajax?

mi caso es el siguiente, muestro inicialmente un formulario, y lo envío con ajax, la respuesta es otro formulario, pero en este último no puedo poner disabled a false ni modificar con javascript el value del submit, cosa que si puedo hacer en el formulario inicial.

un saludo,
josé carlos.
  #2 (permalink)  
Antiguo 16/09/2013, 06:51
Avatar de jgdev13  
Fecha de Ingreso: abril-2013
Mensajes: 40
Antigüedad: 11 años
Puntos: 4
Respuesta: cambiar css a código generado con ajax

En cierto modo se puede, incluyendo el código javascript dentro de la respuesta del servidor.
__________________
No intentes superar a nadie, ¡supérate a ti mismo!
  #3 (permalink)  
Antiguo 16/09/2013, 08:00
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 1 mes
Puntos: 16
Respuesta: cambiar css a código generado con ajax

No necesariamente debes poner javascript en la respuesta del servidor. La cuestión alli es que estar "recargando" el DOM de la página y las funciones que colocas con javascript suelen cargarse con el DOM inicial, entonces para poder agregar funcionalidad a los nodos nuevos debes capturar el refrescamiento. Si usas Jquery. con el evento "on" puedes hacerlo asignando las funcionalidades a el DIV padre que no cambie.
Te agrego aqui un enlace donde hablan del delegate y el On, opciones para ambos.

http://api.jquery.com/delegate/
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos
  #4 (permalink)  
Antiguo 16/09/2013, 10:29
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
Respuesta: cambiar css a código generado con ajax

te refieres al div que se recarga o al que contiene a este?

un saludo,
josé carlos.
  #5 (permalink)  
Antiguo 16/09/2013, 11:30
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 1 mes
Puntos: 16
Respuesta: cambiar css a código generado con ajax

Me refiero al div que contendra la recarga:

Ejm :
Código HTML:
Ver original
  1.      <body>
  2.           <h1>titulo</h1>
  3.          <div id="dondeCargaras">
  4.                            <!-- Aqui cargaras el contenido con ajax -->
  5.          </div>
  6.      </body>
  7. </html>

Suponiendo que cargaras un contenido con un boton id "btnEnvio" y deseas hacer alguna validación sobre ese botón que cargaras:

Haces lo siguiente
Código Javascript:
Ver original
  1. $( document  ).ready(function(){
  2. //Asignas el evento on al div de cambio.
  3.        $("#dondeCargaras").on("click","btnEnvio",function(){
  4.                            //Aqui el codigo que quieres ejecutar en ese boton
  5.        })
  6.  
  7.  
  8. })
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos
  #6 (permalink)  
Antiguo 16/09/2013, 13:12
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
Respuesta: cambiar css a código generado con ajax

gracias, eres muy amable, lo probaré, y comento.

un saludo,
josé carlos.
  #7 (permalink)  
Antiguo 17/09/2013, 01:18
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: cambiar css a código generado con ajax

Hola:

No sé si te interesa usar una librería o simplemente javascript... si es el primer caso, danos un aviso para mover el tema...

Sin pensar en las librerías, el nuevo form también puede referenciarse con "document.forms", lo mismo sus controles con document.forms["su_nombre_o_índice"].elements, o si tiene id document.getElementsById... y la asignación de eventos es igual...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 19/09/2013, 11:38
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
Respuesta: cambiar css a código generado con ajax

voy a tratar de documentarlo algo más:

el form inicial que se envía con ajax tiene este button:

Código HTML:
Ver original
  1. <input type="button" name="envio" id="envio" value="textoenvio" class="" onclick="javascript:this.value='enviando ...';this.disabled='disabled';enviaFormajaxDV('/formajax.asp',this.form.id,'divform','alertas',this.id,'textoenvio');" />

y proceso la respuesta:

Código Javascript:
Ver original
  1. function leerDatosTXDV(capa,tarea,envioid,enviova) {
  2. if (oXML.readyState==1)
  3. {
  4.     if ( tarea == 'alertas')
  5.     {
  6.         var divaler = document.getElementById("veralertas");
  7.         //divaler.style.display= 'block';              
  8.         divaler.innerHTML = '<img src="/images/ajax/ajax-loader.gif">';
  9.     }
  10.     else
  11.     {
  12.         document.getElementById(capa).innerHTML = '<img src="/images/ajax/ajax-loader.gif">';              
  13.     }
  14. }
  15.  
  16.  
  17. else if (oXML.readyState==4)
  18. {
  19.     var cadena = oXML.responseText;
  20.     var mensajes = cadena.split(",");
  21.     var accion = mensajes[0];
  22.     if (accion == 'alertas')
  23.     {
  24.         var atextodi = "";
  25.         for ( i=1;i<mensajes.length;i++ )
  26.         {
  27.             atextodi += mensajes[i] + "<br /> ";
  28.         }
  29.         document.getElementById("veralertas").innerHTML = atextodi;
  30.         if ( envioid == undefined || envioid == null || envioid == "" || envioid == " " || envioid == NaN ){}
  31.         else
  32.         {
  33.             document.getElementById(envioid).disabled = false;
  34.             document.getElementById(envioid).value = enviova;
  35.         }
  36.                    
  37.     else
  38.     {
  39.         document.getElementById(capa).innerHTML=oXML.responseText;
  40.     }
  41.  
  42. }
  43.  
  44. }

el problema viene cuando la respuesta es un nuevo formulario, por que en este caso aunque la llamada ajax está definida de igual manera ya no vuelve el button de la segunda llamada a disabled false cuando se muestran las alertas del segundo formulario.

(Como no me manejo nada bien con jquery, no se bien como encajar el código de rjulio21 en el script javascript. Sé que con on() de jquery se puede manejar html generado después de la carga inicial de la página)

un saludo,
josé carlos.

Última edición por evoarte; 19/09/2013 a las 11:44

Etiquetas: ajax
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 12:39.