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

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

problème modification javascript


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

problème modification javascript

mercredi 3 janvier 2007 à 20:24:20 | problème modification javascript

yazworld

Bonsoir à tous,

Depuis un moment je travail sur une application de base de données qui dispose d'un module permettant un interfaçage web.
Cette interface Web est modifiable vie un fichier de style css ainsi que par l'intermédiaire d'un fichier javascript .js . Mon souci est que je ne maîtrise pas du tout le javascript.

Voici le problème :

Je dispose donc d'un fichier .js dans lequel son définit différentes fonctions. Je voudrais modifier l'une d'elle à savoir :

[code]function Link(Zone,Terme,Champ,Base,Fenetre) {
Terme = Accent(Terme);
if ( Champ != "" ) Champ = "/(" + Champ + ")";
// Transfert des éléments dans le formulaire
document.LIEN.t2005.value = document.forms[Base].t2005.value;
document.LIEN.t2006.value = document.forms[Base].t2006.value;
if ( Base == "LINK" ) {
document.LIEN.t2018.value = "";
} else {
document.LIEN.t2018.value = "1";
}
if ( Fenetre == "" ) {
document.LIEN.t2004.value = "1";
document.LIEN.t2000.value = "(\"" + Terme + "\"" + Champ + ")";
document.LIEN.t2001.value = "(#" + Terme + "#" + Champ + ")";
document.LIEN.t2002.value = Zone + "=" + Terme ;
document.LIEN.action = document.LIEN.t2009.value + "/[in=genisis" +document.LIEN.t2013.value + "0.in]/";
document.LIEN.submit();
} else {
var URL=document.LIEN.t2009.value + "/[in=genisis" +document.LIEN.t2013.value + "0.in]/";
URL=URL + "?t2000=" + escape("(\"" + Terme + "\"" + Champ + ")");
URL=URL + "&t2001=" + escape("(#" + Terme + "#" + Champ + ")");
URL=URL + "&t2002=" + escape(Zone + "=" + Terme);
URL=URL + "&t2003=" + escape(document.LIEN.t2003.value);
URL=URL + "&t2004=" + escape(document.LIEN.t2004.value);
URL=URL + "&t2005=" + escape(document.LIEN.t2005.value);
URL=URL + "&t2006=" + escape(document.LIEN.t2006.value);
URL=URL + "&t2007=" + escape(document.LIEN.t2007.value);
URL=URL + "&t2009=" + escape(document.LIEN.t2009.value);
URL=URL + "&t2010=" + escape(document.LIEN.t2010.value);
URL=URL + "&t2011=" + escape(document.LIEN.t2011.value);
URL=URL + "&t2012=" + escape(document.LIEN.t2012.value);
URL=URL + "&t2013=" + escape(document.LIEN.t2013.value);
URL=URL + "&t2014=" + escape(document.LIEN.t2014.value);
URL=URL + "&t2015=" + escape(document.LIEN.t2015.value);
URL=URL + "&t2016=" + escape(document.LIEN.t2016.value);
URL=URL + "&t2017=" + escape(document.LIEN.t2017.value);
URL=URL + "&t2018=" + escape(document.LIEN.t2018.value);
msg=window.open(URL,"Index","location=no,status=no,toolbar=no,directories=no,resizable=yes,menubar=no,scrollbars=yes,"+Fenetre);
msg.focus();
}
}[/code]

pour ceux qui se demanderait ce qu'est la fonction Accent, voici :

[code]function Accent(Terme) {
var ACCAPP = "CueaaaaceeeiiiAAEooouuyOUaiounN";
var ACCWIN = "ÇüéâäàåçêëèïîìÄÅÉôöòûùÿÖÜáíóúñÑ";
var i,j;
var CarAns,CarApp;
for (i=0; i<31; i++) {
CarAns = ACCWIN.charAt(i);
CarApp = ACCAPP.charAt(i);
j=Terme.indexOf(CarAns,0);
while ( j != -1) {
Terme = Terme.replace(CarAns,CarApp);
j=Terme.indexOf(CarAns,0);
}
}
return Terme;
}
// Retour au formulaire d'interrogation
function NewQuestion() {
location.href = document.ENVOI.t2007.value;
}[/code]

Pour plus de clarté, voici le code html qui est généré par l'application :
[code]'<tr><td>'/
'<table width=100% border=0 cellpadding=3 cellspacing=0 bgcolor=#FFFFFF>'/
if p(v1) then,
'<tr><td valign=TOP WIDTH=29% bgcolor=#FFFFFF><font color=#000000 SIZE=2 FACE=Verdana>nom</font></td><td valign=top bgcolor=#FFFFFF><font color=#000000 SIZE=2 FACE=Verdana>'
v1,
'</font></td></tr>'/
fi,/
if p(v2) then,
'<tr><td valign=TOP WIDTH=29% bgcolor=#FFFFFF><font color=#000000 SIZE=2 FACE=Verdana>Catégorie</font></td><td valign=top bgcolor=#FFFFFF><font color=#000000 SIZE=2 FACE=Verdana>'
v2,
'</font></td></tr>'/
fi,/
if p(v4) then,
'<tr><td valign=TOP WIDTH=29% bgcolor=#FFFFFF><font color=#000000 SIZE=2 FACE=Verdana>Fonction</font></td><td valign=top bgcolor=#FFFFFF><font color=#000000 SIZE=2 FACE=Verdana>'
v4,
'</font></td></tr>'/
fi,/
if p(v5) then,
'<tr><td valign=TOP WIDTH=29% bgcolor=#FFFFFF><font color=#000000 SIZE=2 FACE=Verdana>Résumé</font></td><td valign=top bgcolor=#FFFFFF><font color=#000000 SIZE=2 FACE=Verdana>'
v5,
'</font></td></tr>'/
fi,/
if p(v6) then,
'<tr><td valign=TOP WIDTH=29% bgcolor=#FFFFFF><font color=#000000 SIZE=2 FACE=Verdana>Liens</font></td><td valign=top bgcolor=#FFFFFF><font color=#000000 SIZE=2 FACE=Verdana>'
(|<a href='javascript:Link("Liens","|v6|","1","LINK","");'>|,v6+|</A>|),'</A>',
'</font></td></tr>'/
fi,/
if p(v7) then,
'<tr><td valign=TOP WIDTH=29% bgcolor=#FFFFFF><font color=#000000 SIZE=2 FACE=Verdana>Téléphone</font></td><td valign=top bgcolor=#FFFFFF><font color=#000000 SIZE=2 FACE=Verdana>'
v7,
'</font></td></tr>'/
fi,/
if p(v8) then,
'<tr><td valign=TOP WIDTH=29% bgcolor=#FFFFFF><font color=#000000 SIZE=2 FACE=Verdana>Email</font></td><td valign=top bgcolor=#FFFFFF><font color=#000000 SIZE=2 FACE=Verdana>'
(|<a href="mailto:|v8|">|,v8+|</A>|),'</A>',
'</font></td></tr>'/
fi,/
if p(v9) then,
'<tr><td valign=TOP WIDTH=29% bgcolor=#FFFFFF><font color=#000000 SIZE=2 FACE=Verdana>Site&nbsp;Web</font></td><td valign=top bgcolor=#FFFFFF><font color=#000000 SIZE=2 FACE=Verdana>'
(|<a target="_blank" href="http://|v9|">|,v9+|</A>|),'</A>',
'</font></td></tr>'/
fi,/
'</table>'/
'</td></tr>'/[/code] (la ligne qui nous intéresse est "Liens")

Ne vous inquiétez pas, je ne demande pas la modification de tout le code mais seulement de la partie suivante :

Je voudrais que le champ "Terme" qui est utilisé dans la fonction puisse contenir plus d'un élément, éléments qui seraient séparés par une virgule.

Je m'explique :

J'ai une base de données qui contient plusieurs noms de personnes avec leurs informations de contacts, fonctions etc... et j'ai aussi un champ qui s'appel liens, ce dernier permet de lister toutes les personnes en contact avec la personne consultée.

exemple : Liens : jean-pierre dupont, stéphane dupré, élise lefévre..

La fonction Link permet en cliquant par exemple sur "jean-pierre dupont" d'accéder à sa fiche (en refaisant une requête dans la base). Pour le moment cette fonction ne me permet pas d'entrer plusieurs noms dans ce champ mais seulement un seul. Je voudrais pouvoir en entrer plusieurs en utilisant comme séparateur une virgule.

s'il y avait quelqu'un d'assés sympa pour se pencher sur mon problème, cela fait un petit moment que je me triture les méninges...

Merci d'avance pour vos lumiéres
Yaz
mercredi 3 janvier 2007 à 21:45:05 | Re : problème modification javascript

PetoleTeam

Membre Club

B onjour...
avec la méthode split on peut scinder une chaîne en tableau de sous chaîne

exemple :
<script type="text/javascript">
//-------------------------
function Recup_Texte( txt_){
  var Str = "";
  var Tab_Nom = new Array(); // Tableau pour récup.
  Tab_Nom = txt_.split(","); // Ici Séparateur virgule
  //-- Récupération de chaque Sous-Chaîne 
  for( i=0; i< Tab_Nom.length; i++){
    Str = Str + "TabNom["+i+"] = "+ Tab_Nom[i] +"\n";
  }
  alert( Str);
}
</script>

;0)


jeudi 4 janvier 2007 à 02:21:18 | Re : problème modification javascript

yazworld

Bonjour PetoleTeam,

tout d'abord merci pour ta réponse, j'ai utilisé ta fonction et apparamment cela rempli bien un tableau.

Voici comment j'ai procéder en intégrant ta fonction :

[code]function Recup_Texte(Terme){
  var Str = "";
  var Tab_Nom = new Array(); // Tableau pour récup.
  Tab_Nom = Terme.split(","); // Ici Séparateur virgule
  //-- Récupération de chaque Sous-Chaîne
  for( i=0; i< Tab_Nom.length; i++){
    Str = Str + "TabNom["+i+"] = "+ Tab_Nom[i] +"\n";
    }
  alert(Str);
} [/code]

Ma fonction modifiée :

[code]
function Link(Zone, Terme,Champ,Base,Fenetre) {
    Terme = Recup_Texte(Accent(Terme));
   
    if ( Champ != "" ) Champ = "/(" + Champ + ")";
    // Transfert des éléments dans le formulaire
    document.LIEN.t2005.value = document.forms[Base].t2005.value;
    document.LIEN.t2006.value = document.forms[Base].t2006.value;
    if ( Base == "LINK" ) {
        document.LIEN.t2018.value = "";
    } else {
        document.LIEN.t2018.value = "1";
    }
    if ( Fenetre == "" ) {
        document.LIEN.t2004.value = "1";
        document.LIEN.t2000.value = "(\"" + Terme + "\"" + Champ + ")";
        document.LIEN.t2001.value = "(#" + Terme + "#" + Champ + ")";
        document.LIEN.t2002.value = Zone + "=" + Terme ;
        document.LIEN.action = document.LIEN.t2009.value + "/[in=genisis" +document.LIEN.t2013.value + "0.in]/";
        document.LIEN.submit();
    } else {
        var URL=document.LIEN.t2009.value + "/[in=genisis" +document.LIEN.t2013.value + "0.in]/";
        URL=URL + "?t2000=" + escape("(\"" + Terme + "\"" + Champ + ")");
        URL=URL + "&t2001=" + escape("(#" + Terme + "#" + Champ + ")");
        URL=URL + "&t2002=" + escape(Zone + "=" + Terme);
        URL=URL + "&t2003=" + escape(document.LIEN.t2003.value);
        URL=URL + "&t2004=" + escape(document.LIEN.t2004.value);
        URL=URL + "&t2005=" + escape(document.LIEN.t2005.value);
        URL=URL + "&t2006=" + escape(document.LIEN.t2006.value);
        URL=URL + "&t2007=" + escape(document.LIEN.t2007.value);
        URL=URL + "&t2009=" + escape(document.LIEN.t2009.value);
        URL=URL + "&t2010=" + escape(document.LIEN.t2010.value);
        URL=URL + "&t2011=" + escape(document.LIEN.t2011.value);
        URL=URL + "&t2012=" + escape(document.LIEN.t2012.value);
        URL=URL + "&t2013=" + escape(document.LIEN.t2013.value);
        URL=URL + "&t2014=" + escape(document.LIEN.t2014.value);
        URL=URL + "&t2015=" + escape(document.LIEN.t2015.value);
        URL=URL + "&t2016=" + escape(document.LIEN.t2016.value);
        URL=URL + "&t2017=" + escape(document.LIEN.t2017.value);
        URL=URL + "&t2018=" + escape(document.LIEN.t2018.value);
        msg=window.open(URL,"Index","location=no,status=no,toolbar=no,directories=no,resizable=yes,menubar=no,scrollbars=yes,"+Fenetre);    
        msg.focus();
    }
}
[/code]

Cela m'affiche une boîte de dialogue comme suit :

[IMG]http://img.rock-hosting.com/img/screenmu3.jpg[/IMG]

En fait je voudrais que cela m'affiche un lien hypertexte sur le nom de la personne si l'opération est possible, que chacunes des personnes ai un lien différent.

exemple : que l'on puisse cliquer sur "élodie sorel" ou "frédérique fleury" indépendamment et que ces liens soit différenciés par la virgule

Voilà,

en te remerciant par avance pour ton aide.

Yaz
jeudi 4 janvier 2007 à 06:21:03 | Re : problème modification javascript

PetoleTeam

Membre Club


B onjour...
je pensais plus à un truc dans ce style

//------------------------------------------------
function Link( Zone, terme_, Champ, Base, Fenetre){
  var Str = Accent(terme_);
  var Tab_Nom = new Array();
  Tab_Nom = Str.split(",");

  //-- Récupération de chaque Sous-Chaîne
  for( var i=0; i< Tab_Nom.length; i++){
    Terme = Tab_Nom[i];


    if ( Champ != "" ) Champ = "/(" + Champ + ")";
    // Transfert des éléments dans le formulaire
    document.LIEN.t2005.value = document.forms[Base].t2005.value;
    document.LIEN.t2006.value = document.forms[Base].t2006.value;
    if ( Base == "LINK" ) {
      document.LIEN.t2018.value = "";
    }
    else {
      document.LIEN.t2018.value = "1";
    }
    if ( Fenetre == "" ) {
      document.LIEN.t2004.value = "1";
      document.LIEN.t2000.value = "(\"" + Terme + "\"" + Champ + ")";
      document.LIEN.t2001.value = "(#" + Terme + "#" + Champ + ")";
      document.LIEN.t2002.value = Zone + "=" + Terme ;
      document.LIEN.action = document.LIEN.t2009.value + "/[in=genisis" +document.LIEN.t2013.value + "0.in]/";
      document.LIEN.submit();
    }
    else {
      var URL=document.LIEN.t2009.value + "/[in=genisis" +document.LIEN.t2013.value + "0.in]/";
      URL=URL + "?t2000=" + escape("(\"" + Terme + "\"" + Champ + ")");
      URL=URL + "&t2001=" + escape("(#" + Terme + "#" + Champ + ")");
      URL=URL + "&t2002=" + escape(Zone + "=" + Terme);
      URL=URL + "&t2003=" + escape(document.LIEN.t2003.value);
      URL=URL + "&t2004=" + escape(document.LIEN.t2004.value);
      URL=URL + "&t2005=" + escape(document.LIEN.t2005.value);
      URL=URL + "&t2006=" + escape(document.LIEN.t2006.value);
      URL=URL + "&t2007=" + escape(document.LIEN.t2007.value);
      URL=URL + "&t2009=" + escape(document.LIEN.t2009.value);
      URL=URL + "&t2010=" + escape(document.LIEN.t2010.value);
      URL=URL + "&t2011=" + escape(document.LIEN.t2011.value);
      URL=URL + "&t2012=" + escape(document.LIEN.t2012.value);
      URL=URL + "&t2013=" + escape(document.LIEN.t2013.value);
      URL=URL + "&t2014=" + escape(document.LIEN.t2014.value);
      URL=URL + "&t2015=" + escape(document.LIEN.t2015.value);
      URL=URL + "&t2016=" + escape(document.LIEN.t2016.value);
      URL=URL + "&t2017=" + escape(document.LIEN.t2017.value);
      URL=URL + "&t2018=" + escape(document.LIEN.t2018.value);
      msg=window.open(URL,"Index","location=no,status=no,toolbar=no,directories=no,resizable=yes,menubar=no,scrollbars=yes,"+Fenetre);
      msg.focus();
    }
  }
}

avec en rouge ce qui change dans ta fonction, la fonction Recup_Texte n'étant qu'un exemple...
;0)




Cette discussion est classée dans : url, lien, document, value, escape


Répondre à ce message

Sujets en rapport avec ce message

activesX [ par tonytruand ] Bonjour à tous,Avec ceci :function recup(){fso = new ActiveXObject("Scripting.FileSystemObject");f = fso.GetFolder(document.getElementById('lien').val Valider l'appui sur un lien. [ par lolpop ] Bonjour,je vous explique mon probleme.Je créé une page pour vérifier qu'une personne clique bien sur le lien de la page ouverte.J'ai une page en frame envois de formulaire ajax [ par Annadrill ] bonjour,voilà, j'aimerais modifier la fonction que je vous mets la dessous, de manière a pouvoir l'utiliser avec n'importe quel formulaire, en précisa Traiter les données d'un formulaire [ par atari54 ] Bonjour à tous ! Je vous expose mon petit soucis : j'aimerais faire un formulaire où l'utilisateur pourrait rajouter, via un champ, l'url d'un site w insertion des donne javascripte dans une bdd [ par somapi ] salue les amies j'ai un pFe qui consiste à crée une ma interactive bon, ma problème c'est que j'ai des donne dans ma base j aimerait bien récupère ces vérification des champs d'un formulaire [ par rustaflyx ] Bonjour à tous j'ai un problème dans le script de vérification de mon formulaire.j'ai un formulaire donc certain champs ne s'affiche qu'à certaines he Format séparateur de millier avec Javascript [ par sebalex ] Salut à tous, Voici ma fonction "calcul" (qui fonctionne bien) function calcul() { document.form.PRIME_ANNEE.value=Number(document.form.PRIME.value Lien sur même page [ par borchiwoun ] Bonjour à tous, Je travaille sur un site qui est composé de 2 frames : - une en haut : composé d'un swf qui fait office de menu - une en bas : qui e diaporama en javascript et html [ par leaemile ] Bonjour, Je me suis créé un petit code en javascript afin d'intégrer un diaporama dans une page html. Il fonctionne à merveille en "intranet" c'est à


Nos sponsors


Sondage...

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,546 sec (4)

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