begin process at 2012 05 29 17:11:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Evènements

 > 

Problème onblur sur inputbox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème onblur sur inputbox

mercredi 5 mars 2008 à 15:57:15 | Problème onblur sur inputbox

funseb

Bonjour,

J'ai un énorme problème en javascript, je cherche depuis déjà pas mal de temps et impossible de trouver une solution. Voila mon problème : j'ai un datagrid (aspx). Je prend le cas où j'ai 2 colonnes. Donc en javascript, j'ajoute une ligne à mon datagrid dès le chargement de la page (pour ma ligne , je crée donc des cellules et met dans chaque cellule une textbox), ceci en passant en paramètre pour chaque cellule, la largeur, le nombre de caractère max et le type de la textbox présent dans chaque cellule (numérique, alpha ...). Donc en gros j'ai une boucle qui va de 0 à n colonnes. et j'ai l'information du type de la colonne dans un array par exemple [0,2] , la 1 ere colonne à 0 soit type alpha, la seconde colonne à 2 = type numérique....

Donc mon code est le suivant :

for (i=0;i<nbcol;i++)

{

   var cell = row.insertCell(i);                  //Ajout de la cellule dans la ligne

  var reg = new RegExp("[*]+","g");   //récupération des valeurs de longueur pour les cellule (recu de cette facon 200*100*10 pour dire       Largeur          col 1 = 200, largeur col 2 = 100 ...

   var tab = TabLongueur.split(reg);  

   if (tab[i] != '0')                                  //si la valeur != de 0 soit on a défini une largeur spécifique

   {

      var Calcul = tab[i];

   }

   else

   {

      var Calcul = (500 - 30)/ (nbcol);

   }

   cell.width = Math.round(Calcul);

   var el = document.createElement('input');            //dans chaque cellule du datagrid , il y a une textbox

   el.type = 'text';

   el.width = Math.round(Calcul);

   el.height = 20;

   tab = TabCaractere.split(reg);                           //meme principe que la longueur de la cellule mais cette fois pour récuperer nb caracteres max de la textbox

   if (tab[i] != '0')

   {

      var intNb = tab[i];

      el.maxLength = intNb;

   }

   var reg2 = new RegExp("[*]+","g");

   var tab2 = param.split(reg2);

   valligne = MiseEnForme(iteration);

   valcol = MiseEnForme(i);

   el.name = 'txtRow' + valligne + valcol;

   el.id = 'txtRow' + valligne + valcol;

   

el.onblur = function(){GestionType(this , tab2[i]);};    // ET C'EST LA QUE CA MARCHE PAS !!!!!!!!!!!!!!!!!

Donc en gros, j'aurais voulu pour chaque cellule, lui attacher l'événement onblur avec les bons paramètres au niveau du type autorisé ! par exemple pour la 1 ere cellule tab2[0] = 2 soit du numérique donc je verifie avec GestionType(this, 2) .... Or, ca n'attache pas l'évenement à chaque tour de boucle ! si j'ai 4 colonnes, et bien le onblur sur toutes les textbox de la ligne va prendre pour valeur tab2[5]. idem si je fais un alert(i) dans mon onblur, pour toutes les cellules de ma ligne il va m'afficher 5 (dans le cas ou j'ai 4 colonnes ....)


cell.appendChild(el);

}

}


Voila donc mon problème. Desolé si mon explication est pas super, c'est pas évident ... cela dit si quelqu'un a deja eu ce problème j'imagine qu'il pourra m'aiguiller.

Merci d'avance pour toute idée

Séb
mercredi 5 mars 2008 à 16:05:28 | Re : Problème onblur sur inputbox

bultez

Membre Club


Bonjour,

    on en avait parlé il y a quelques temps, et petoleteam nous avait résolu ça....

    plus le lien, mais j'ai noté !


<html>
    <body>
        <form name="frm">
            <input type="text" name="t" value="un" />
            <input type="text" name="t" value="deux" />
            <input type="text" name="t" value="trois" />
        </form>
        <script type="text/javascript">
            for( var n=0; n<document.frm.t.length; n++)
            {    var Obj = document.frm.t[n];
                 Obj.numChp = n;
                 Obj.onmouseover =function ()  
                 { alert ( this.numChp ); }
            }
        </script>
    </body>
</html>


bon c'est sur onmouseover, y'a que les input texte....    mais tu saura transposer   ;o)
    "le truc" c'est de passer par    var Obj = l'input en question[n];


                Cordialement            Bul         [mon Site]     [M'écrire]
mercredi 5 mars 2008 à 16:34:26 | Re : Problème onblur sur inputbox

funseb

Salut,

même en faisant ça après être sorti de la boucle décrite dans mon premier message :

function

AddTypeColonne(ligne, nbcol, param)

{

valligne = MiseEnForme(ligne);

var reg = new RegExp("[*]+","g");

var tab = param.split(reg);

for (i=0;i<nbcol-1;i++)

{

valcol = MiseEnForme(i);

nom = 'txtRow' + valligne + valcol;

var txt = document.getElementById(nom);

txt.onblur =

function(){GestionType(this, tab[i]);};

}

}


Ca ne marche pas , ça fait la même chose ...

mercredi 5 mars 2008 à 16:44:46 | Re : Problème onblur sur inputbox

bultez

Membre Club
Réponse acceptée !


>>ça ne marche pas , ça fait la même chose ...
    tu as juste oublié l'essentiel

       txt.toto=i;
     
txt.onblur =  function() { GestionType ( et il faut utiliser ici this.toto );  };



                Cordialement            Bul         [mon Site]     [M'écrire]
mercredi 5 mars 2008 à 16:48:12 | Re : Problème onblur sur inputbox

funseb

Oooooohhhhhhhhhhhhhhhhhhhh la vache !!!!!!!!!! c'est trop bien !!!! lol
MERCI mille fois !!!!!!
seb


Cette discussion est classée dans : problème, var, cellule, onblur, el


Répondre à ce message

Sujets en rapport avec ce message

problème de concaténation [ par dubitoph ] ChristopheBonjour,Je cherche à concaténer dans une variable certaines valeurs provenant d'un formulaire.Mon code : var enreg = ""; for(var cpt = 0; c Boulce et tableau= problème [ par BirD ] Salut la foule, Je suis en train de me casser la tete depuis 4 heures sur un ptit truc, mais j'en ai bien besoin, alors vous pourrez surement m'aider. boucle et tableau, gros problème [ par BirD ] Salut la foule, Je suis en train de me casser la tete depuis 4 heures sur un ptit truc, mais j'en ai bien besoin, alors vous pourrez surement m'aider. Problème avec setTimeout [ par killergamer ] Salut tout le monde.... J'ai un problème : Je doit appeler une fonction avec l'aide de setTimeOut. Mais lorsque j'appelle cette fonction, je dois au Problème de taille d'iframe [ par LeJulius ] voila les gas !! ::je souhaite choper la taille d'une iframe qui est défini commeun pourcentage d'une cellule d'un tableau et ce tableau est dans la Problème de sélection dans un select multiple [ par pymm ] Bonjour à tous, J'ai un problème sur l'une de mes pages. Au rechargement de la page, je remplis les champs d'un select multiple grace a une fonctio scroll bar avec roll over [ par Le Zbire ] Dans les sections en rouge je voudrais faire un roll over j'ai essayer multiple moyens mais sa donne rienvous pourvez m'aider?La section bleu n'y touc Besoin d'aide pour jeu de cartes [ par earth4x ] J'ai un problème avec mon petit projet de jeu de cartesfunction pigerCartes(){     var zone = document.getElementById("divCartes");     var nbCartes = Ajax - getelementsbytagname is not a function? [ par jnbdzjnbdz ] Bonjour, je travaille depuis un certain temps sur une application web faite avec ajax et PHP. Je viens de rencontrer un problème qui m'empêche d'avanc problème de lecture du xml [ par magic001 ] bonjour, je suis entrain de dévélopper une interface qui me permetra de recuperer le post d'un champ "option" sur un textaea.le post se fait son probl


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales