begin process at 2010 03 18 04:12:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Erreur: ')' attendu


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

Erreur: ')' attendu

jeudi 3 avril 2008 à 17:41:02 | Erreur: ')' attendu

doubledu

Bonjour à tous,
Je suis debutant en javascript et voila mon probleme : Le code de mes fonctions javascripts ne s'execute pas dans tous les cas. Je m'explique, j'ai un formulaire avec un <input type="text" name="noms" etc..> et lorsque j'appuie sur entrée ,lorsque le focus est sur ce champ, ma fonction javascript submit le formulaire qui envoie vers ma servlet. Celle ci rempli ma liste de "noms" situé dans ma base access et rempli la chaine "raison_sociale" où les mots sont séparés avec des virgules, puis je forward à nouveau ma page. C'est à ce moment là qu'apparait mon select avec la liste des noms a choisir. Lorsque je clic ou deplace la selection avec les touches haut et bas dans le select, ma fonction javascript "affraisonsoc" rempli le champ "raisonsociale" automatiquement.
Mon probleme est que lorsque je saisi "le" ou "lo" ou "a" dans le champ "noms" le select apparait correctement mais l'appel à mes fonctions javascripts associés aux evenements "onclick", "onfocus" et "onkeyup" à ce select ne fonctionne plus alors que n'importe qu'elle autre saisie met bien mon champ à jour c'est donc bien un probleme javascript


Appel de ma fonction "affraisonsoc" :

<

select size="8" onfocus="focusSelect();affraisonsoc('<%=raisonsoc %>');" onclick="focusSelect();affraisonsoc('<%=raisonsoc %>');onkeyup="affraisonsoc('<%=raisonsoc %>');" name="selectNom" >

Ma fonction javascript :

function

affraisonsoc(raisonsoc){
var
pos=ChoixAppel.selectNom.selectedIndex; //position dans le select
var temp="";
var mot=0; var index=0;
var car='';

for(i=0;i<raisonsoc.length;i++){
temp=temp+raisonsoc.charAt(i);
car=raisonsoc.charAt(i);
if(car==","){   //les mots sont séparés par des virgules
   if
(pos==mot){
      if
(mot==0){temp=temp.substring(index,i);}
      else{
temp=temp.substring(index+1,i);}
         ChoixAppel.rais_socCherche.value=temp; //remplisssage du champ
         ChoixAppel.rais_socCherche.text=temp;
         j=raisonsoc.length;
      }
      mot++;
      index=i;
      }
   }
}

Erreur internet explorer :
Ligne : 94
Car : 192
Erreur: ')' attendu
Code : 0
URL : chemin apache

Lorsque j'execute sous internet explorer tout fonctionne sauf lorsque je tape certaines lettres
S'il vous plait, Si vous avez des idées sur la cause de ce probleme ou si vous voyez des erreurs dans mon code aidez moi.

jeudi 3 avril 2008 à 18:16:30 | Re : Erreur: ')' attendu

Axe971

Salut,

Ce serait bien d'indiquer quelle est la ligne qui correspond.
Et puis il serait mieux de faire un tableau contenant les raisons sociales, au lieu de te compliquer la vie à parcourir une chaine...

Bonne chance,
jeudi 3 avril 2008 à 18:22:05 | Re : Erreur: ')' attendu

Axe971

Pour compléter :

Le mieux serait de faire un tableau associatif. Exemple :

tabRaisonSociale["indice_dans_le_select"] = "Raison sociale correpondante";

...

tabRaisonSociale["indice1"] = "Raison sociale1";
tabRaisonSociale["indice2"] = "Raison sociale2";

Comme ça pour te simplifier la vie tu n'aurai qu'a faire :

var pos=ChoixAppel.selectNom.selectedIndex; //position dans le select

ChoixAppel.rais_socCherche.value=tabRaisonSociale[pos]; //remplisssage du champ
ChoixAppel.rais_socCherche.text=tabRaisonSociale[pos];


jeudi 3 avril 2008 à 19:29:44 | Re : Erreur: ')' attendu

doubledu

Salut Axe 971 et merci de me m'aider.

tu m'a demandé : "Ce serait bien d'indiquer quelle est la ligne qui correspond." mais internet explorer m'indique une ligne qui n'existe pas elle se trouve dans ma servlet mais celle ci ne comporte que 90 lignes.

Ton idée a propos des tableaux est interessante (je l'ai testé mais toujours pas d'evenement lors d'un clic ou autre) mais cela ne m'empeche pas parcourir ma chaine. Comme tu la surement remarqué je code en jsp et ma chaine raisonsoc change lors d'un retour de requete et je la passe donc en parametre lors de l'appel onkeyup="affraisonsoc('<%=raisonsoc %>');" je suis donc encore obligé d'utiliser le separateur "," pour "décomposer" la chaine. Je pourrais faire un tableau en amont au lieu de créer une chaine mais créer une chaine est la transmettre en parametre à ma fonction est la seule facon que j'ai trouvé pour faire cohabiter jsp, servlet et javascript.

D'apres moi l'erreur se situe vraiment dans cette boucle mais j'ai beau la retourner dans tous les sens je n'arrive pas voir la faute
jeudi 3 avril 2008 à 19:55:58 | Re : Erreur: ')' attendu

Axe971

Réponse acceptée !
Bon je n'ai pas tout compris de ce que tu as expliqué... mais je te propose (vu que tu es obligé d'utiliser une chaine avec des <,> de la découper avec une fonction javascript pour obtenir un tableau.

Utilise la fonction split spécifique aux chaines de caractères
http://www.toutjavascript.com/reference/reference.php?ref=split&parent=15

Ca devrait déjà simplifier ta boucle...

Bonne chance
vendredi 4 avril 2008 à 14:16:35 | Re : Erreur: ')' attendu

doubledu

Re bonjour Axe971 et merci pour tes precieux conseils
 Mon appplication va beaucoup plus vite maintenant le chaine.split fonctionnne vraiment tres bien.
J'ai résolu mon probleme!!  sa venait de mon appel dans ma fonction javascript
onkeyup="affraisonsoc('<%=raisonsoc %>');"
je l'ai remplacer par onkeyup="affraisonsoc();" et j'ai créé un champ caché avec la valeur de ma chaine
donc dans ma fonction javascript :
affraisonsoc(){
var raisonsoc = document.form.raisonsoc.value

//j'ai un autre souci à ce niveau ma chaine se tronque losqu'il y a le caractere ' exemple : maire d'avignon devient maire d et
//tout le reste de ma chaine est tronqué
var reg=new RegExp(";", "ig");
}
vendredi 4 avril 2008 à 15:29:11 | Re : Erreur: ')' attendu

doubledu

Réponse acceptée !
Erratum decidement les appel de fonction c'est mon fort
au lieu de :
<input type="hidden" name="rais" value='<%=raisonsoc %>'>
ou la chaine est delimitée par des apostrophes
mettre :

<
input type="hidden" name="rais" value="<%=raisonsoc %>">
et voila la chaine est délimitée par des guillemets et mon chaine.split fonctionne.
Merci à Axe971
A bientot
samedi 5 avril 2008 à 00:58:56 | Re : Erreur: ')' attendu

Axe971

De rien  c'est toujours un plaisir d'aider


Cette discussion est classée dans : champ, select, temp, raisonsoc, affraisonsoc


Répondre à ce message

Sujets en rapport avec ce message

deselectioner select [ par tatofr ] salutj'ai une champ liste avec une des options selectionnéj'ai voudrai lorsque je clique sur un champ texte, deselectionner la option[] sur le champ l champ select [ par chingo ] Bonjour.Mon formulaire contient un champ de type select qui se présente comme ceci : <op Récupérer toutes les valeurs d'un select [ par mandaillou ] SalutJ'ai un formulaire avec un champ de type select qui est remplis dynamiquement par l'utilisateur via un bouton ajouter. Quand je valide, je voudra Afficher une image dans un champ type select [ par amateurjava ] J'ai beau chercher et je trouve pas comment afficher une image dans un select Par exemple : une photo + un nomet dans le menu déroulant on selectionne disable/enable champ de type select dans un formulaire en fonction du choix d'un radio button [ par denisb ] Salut la communaute Je souhaiterai connaitre la fonction JS qui me permet d'activer un champ de type select si un radio button est saisi. En fait da Je ne trouve pas l'erreur ! [ par zut69 ] Bonsoir,Alors voilà, j'ai écrit la petite fonction ci-dessous pour faire faire plusieurs évènements lorsque je choisis une option dans un select. Cett [form / select] Affichage d'un contenu après une selection dans un champ select [ par wighie ] Bonjour, J'ai un champ qui contiens une liste de "publications", chaque publication se compose d'une référence et d'un descriptif (texte + couvertur Passage parametre [ par Nicodelphi ] Bonjour j'ai une page qui lorsque l'on clique sur un lien affiche un menu popup utiliser avec tickbox dans ce popup g des select et un bouton j'aimera Fusionner 2 JavaScript [ par JypX ] Bonjour, J'ai tenté de fusionner 2 JS, en vain : - vérifie si le pseudo existe - vérifie si les champs sont bien remplis Le problème c'est qu'il ave Modifier la valeur d'un champ personnalisé d'une image [ par bousty ] Bonjour Voilà mon souci. J'ai dans ma page une image à laquelle j'ai un champ personnel (jqimg) comme ceci J'ai créer un script pour changer la va


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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,406 sec (3)

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