Foros del Web » Programando para Internet » Javascript »

Ayuda Submit Formulario

Estas en el tema de Ayuda Submit Formulario en el foro de Javascript en Foros del Web. Saludos a todos y gracias de antemano a kien pueda ayudarme: Tengo un formulario que envia sus datos mediante post a otro para que procese ...
  #1 (permalink)  
Antiguo 01/03/2009, 18:13
Avatar de carlospc  
Fecha de Ingreso: noviembre-2008
Ubicación: Huancayo/Perú
Mensajes: 240
Antigüedad: 15 años, 5 meses
Puntos: 12
Exclamación Ayuda Submit Formulario

Saludos a todos y gracias de antemano a kien pueda ayudarme:

Tengo un formulario que envia sus datos mediante post a otro para que procese estos, solo que el envio no lo hace con el clasico boton Submit, si no que puse con una funcion para que ejecute el Submit del Form pero en el evento unLoad de la pagina, osea se envian los datos al salir de la pagina, pero quiero que se ejecute cuando alguien clicke en publicidad, y por ende deberia irse a la pagina del anunciante... pero ejecutando el Submit, solo que la funcion ejecuta el Submit y se va a la pagina que procesa el formulario, y no a la pagina del anunciante, que es precisamente lo que quiero. Que el Submit se ejecute en modo post pero sin cargar a la pagina que procesa los datos. y haber si de paso alguien me ayuda... cuando vuelven a la pagina anterior... tambien se ejecuta el submit... jeje :D eso ya me malogra todo...

Gracias de antemano a quien pueda ayudarme.
  #2 (permalink)  
Antiguo 01/03/2009, 19:33
Avatar de jeybi  
Fecha de Ingreso: julio-2008
Ubicación: Mexico
Mensajes: 130
Antigüedad: 15 años, 9 meses
Puntos: 10
Respuesta: Ayuda Submit Formulario

No se entiende lo que quieres decir, procura usar signos de puntuacion.
Logre captar algo, dime si estoy en lo correcto: Al irte de la pagina quieres enviar un form a tu servidor (post) y que luego vaya a la pagina de anunciante ?

Si es asi, necesitas obtener el ad al que se le hizo click luego pasarselo al servidor (como campo hidden por ejemplo) y ya una vez del lado del servidor, hacer todos las tareas que debas con la informacion del formulario,y redirigir al usuario a la pagina del anunciante, ya sea con php(mucho mas recomendado, rapidez y te asegures que de verdad sea redirigido), o bien con un javascript generado que actualize window.location = "pagina del click".
  #3 (permalink)  
Antiguo 02/03/2009, 09:39
Avatar de carlospc  
Fecha de Ingreso: noviembre-2008
Ubicación: Huancayo/Perú
Mensajes: 240
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Ayuda Submit Formulario

si me entendiste bien, pero el echo es que yo no se los ads hacia donde van ir, ya que estos son aleatorios, tipo los que coloca adsense, osea no se hacia que pagina va ir, ni tampoko me deja capturarlos.

O alguna otra solucion.
  #4 (permalink)  
Antiguo 02/03/2009, 11:44
Avatar de jeybi  
Fecha de Ingreso: julio-2008
Ubicación: Mexico
Mensajes: 130
Antigüedad: 15 años, 9 meses
Puntos: 10
Respuesta: Ayuda Submit Formulario

Ok, mira es facil, aqui te dejo este codigo, lo unico que tienes que hacer es ponerle un class 'ad' a todos los enlaces, no importa si ya tienen otras clases, solo agregaselas, ejem : class="estilo estilo2 ad", funcionara.

Lo que hace es basico, para todos los ads les asigna un event handler que creara un input hidden con el url del ad, asi tu script lo procesa, aun no lo he probado extensivamente, pero te dara la idea basica:

Código javascript:
Ver original
  1. window.onload = funcion;
  2. var adclass = 'ad'; //Clase unica para los ads
  3. var forma = 'miform' //Name de tu form
  4.  
  5. function funcion(){
  6.     var links = document.getElementsByTagName('a');
  7.     for(var i = 0; links[i] ; i++){
  8.         if(isAd(links[i]))
  9.             links[i].onclick = function(){
  10.                 ads(this);   //Le enviamos el link a la funcion ads
  11.             }
  12.      }
  13. }
  14.  
  15. function isAd(element) {
  16.         var classes = element.className;
  17.         if (!classes) return false;               //El link no tiene clases, por lo tanto false
  18.         if (classes == adclass) return true;    //Exacto, true
  19.  
  20.         //Si no es exacto, entonces puede que tenga mas clases, si no tiene espacios, entonces solo tiene una y no es adclass, false
  21.         var whitespace = /\s+/;
  22.         if (!whitespace.test(classes)) return false;
  23.  
  24.         //Al llegar aqui savemos que tiene mas de una clase
  25.         var c = classes.split(whitespace);  //La cortamos
  26.         for(var i = 0; i < c.length; i++) {
  27.             if (c[i] == adclass) return true;  // Checamos cada clase por separado
  28.         }
  29. }
  30.  
  31. function ads(ad) {
  32.     forma = document.forms[forma]; //Obtenemos la form
  33.     var enlacead = document.createElement('input');
  34.     enlacead.type ='hidden';
  35.     enlacead.name = 'enlacead';
  36.     enlacead.value = ad.href; //Le pasamos al form el enlace del ad.
  37.    
  38.     forma.appendChild(enlacead); //Añadimos el camppo hidden
  39.     forma.submit();
  40.     return false;
  41. }

PD: Aun no se si funciona el return false que hace despues de llamar a submit(), has tus pruebas y nos cuentas

Última edición por jeybi; 02/03/2009 a las 12:04
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 10:21.