Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/03/2009, 11:44
Avatar de jeybi
jeybi
 
Fecha de Ingreso: julio-2008
Ubicación: Mexico
Mensajes: 130
Antigüedad: 15 años, 10 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