Erreur sur un alert

Signaler
Messages postés
104
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
13 février 2008
-
Messages postés
104
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
13 février 2008
-
bonjour a vous tous
voila je suis entrain de realise une application en ajax, j'ai un probleme qui me semble etrange

j'ai un simple formulaire ou je fais l ajout o la maj des utilisateurs avant de valider j'ai fais une fonction qui controle si le champs email est vide ou conforme a la syntaxe et la il m affiche une erreur javascipt
sur alert(1)
voici le code
else  {
                             var  message_alerts = "%%ADMIN_SPACE:msgInfo%%: \n" + message_alert ;
                                     alert(1);
                                       return false;
                                   
                            }
l'erreur : Permission
refusée de modifier la propriété XULElement.selectedIndex' when calling
method: [nsIAutoCompletePopup::selectedIndex]" nsresult: "0x8057001e
(NS_ERROR_XPC_JS_THREW_STRING)" location: "JS frame ::

12 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,

    <script type= "text/javascript">
    alert(1);
    </script>

    ne pose aucun problème. essayer juste ça.
    sûr de la ligne ? pas la précédente ?

     var  message_alerts = "%%ADMIN_SPACE:msgInfo%%: \n" + message_alert ;
                        défini ou pas ?
                        c'est quoi ? comme l'erreur cause de XULElement ?
   
    ou ailleurs...

    avec FireFox, regarder la console d'erreurs, et mieux : télécherger FireBug
    avec Internet Explorer, activer le deboggage, et mieux : télécharger le Debugger IE

<hr />Cordialement Bul [mon Site] [=Bul M'écrire]<hr />
Messages postés
104
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
13 février 2008

enfaite c'est un fonction javascript c firebug qui m'allert que j'ai une erreur voici toute la fonction l'erreur est sur la ligne 715  quand le champs email est vide le message alert s'affiche bien mais avec firebug m'affiche l'erreur (si le champs email n'est pas conforme a la syntaxe il affiche l'alert + le bug ligne 709)

function verify_modif(){
677
678
679 var message_alert = "";
680
681 for(var i = 0; i < window.document.forms[0].length ; i++) {
682 var rechRapide = window.document.forms[0].elements[i].value;
683 var nom_champ = window.document.forms[0].elements[i].id;
684 if(nom_champ=="comment" || nom_champ=="phone" || nom_champ == "entity" || nom_champ == "company_id" ) ;
685 else {if(rechRapide == "")
686 {
687 window.document.forms[0].elements[i].focus();
688 window.document.forms[0].elements[i].style.backgroundColor = "#CCCFEC";
689 message_alert +="Veuillez remplir le champ : " + nom_champ +"\n";
690 }
691 }
692 }
693 if (window.document.getElementById("company_id").value=="") message_alert += "Le nom de la company est incorrect ! \n" ;
694 if (message_alert == "")
695
696 { //verification du mot de passe dupliquer
697 if (window.document.forms[0].elements[2].value!=window.document.forms[0].elements[3].value)
698 {
699 message_alert += "Erreur confirmation mot de passe \n";
700 message_alert = "Informations omises dans le formulaire: \n" + message_alert;
701 alert(message_alert);
702 return false;
703 }
704 else { var str = document.getElementById("email").value ;
705 var filter=/^.+@.+\..{2,3}$/;
706
707 if (filter.test(str)) return true ;
708 else { message_alert += "Adresse E-mail incorrecte !! \n" ;
709 alert(message_alert);
710 return false;
711 }
712 }
713 }else {
714 var message_alerts = "Informations omises dans le formulaire: \n" + message_alert ;
715 alert(message_alert);
716 return false;
717
718 }
719
720
721 }
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
...mais... ça ne correspond plus du tout au 1er message ? si ?


et euh sans les n° de lignes, avec le formulaire ce serait mieux.
    qu'on puisse tester tranquillement
    plutôt que lire et tenter de voir.
<hr />


Cordialement            Bul         [mon Site]     [M'écrire]     




<hr />
Messages postés
104
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
13 février 2008

pour l'alert 1 je l'ai fais juste pour être sur que m'a fonction ne plante pas sur le texte mais en principe je fais un message dans les balises %%ADMIN_SPACE:msgRemplissage%% pour la gestion des langues (aucun probleme sur ces messages)
voici exactement le message d'erreur :[Exception...
"'Permission refusée de modifier la propriété XULElement.selectedIndex'
when calling method: [nsIAutoCompletePopup::selectedIndex]" nsresult:
"0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "JS frame ::
http://adresse:: verify_modif :: line 715" data: no]

et voici la fonction
function verify_modif(){   
   
   var message_alert = "";      
   for(var i = 0; i < window.document.forms[0].length ; i++) {
      var rechRapide = window.document.forms[0].elements[i].value;
      var nom_champ = window.document.forms[0].elements[i].id;
        if(nom_champ=="comment" || nom_champ=="phone"  || nom_champ == "entity" || nom_champ == "company_id" )  ;
      else {if(rechRapide == "")
                 {
                 window.document.forms[0].elements[i].focus();
                 window.document.forms[0].elements[i].style.backgroundColor = "#CCCFEC";
                 message_alert +="%%ADMIN_SPACE:msgRemplissage%% : " + nom_champ +"\n";
                }
              }
   }
         if (window.document.getElementById("company_id").value=="")      message_alert += "%%ADMIN_SPACE:erreurCompany%%  \n" ;
     if (message_alert == "")
   
         { //verification du mot de passe dupliquer
           if (window.document.forms[0].elements[2].value!=window.document.forms[0].elements[3].value)   
               {
                 message_alert += "%%ADMIN_SPACE:msgErreurPassword%%  \n";
                 message_alert = "%%ADMIN_SPACE:msgInfo%%: \n" + message_alert; 
                 alert(message_alert);
                  return false;
                  } 
                  else { var str = document.getElementById("email").value  ; 
                        var filter=/^.+@.+\..{2,3}$/;
                       
                         if (filter.test(str))  return true ;
                         else { message_alert += "%%ADMIN_SPACE:incorrectMail%%  \n" ;
                                alert(message_alert);
                                 return false;
                               }
                  }
                    }else  {
                             var  message_alerts = "%%ADMIN_SPACE:msgInfo%%: \n" + message_alert ;
                                     alert(message_alert);
                                       return false;                                    
                            }                                 
            }
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
reste plus que le formulaire, les champs quoi... et je regarde
mais tu es sûr que les %% ??? %% c'est pas un autre langage ?
            ni HTML, ni javascript !
<hr />


Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
Messages postés
104
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
13 février 2008

voici le formulaire c 'est un peu long comme traitement je vais juste poster le traitement de l'affichage pour les variables je fais une requette sql (pour les %% c juste un message si tu vois la fonction en haut avec les numeros tu vas trouver que firebug affiche le texte)voici le formulaire

<form action= "?task=user_manager:domodify" name="user_modif" method="post" id="user_modif" onSubmit="return verify_modif();">
            ----

                                        &nbsp;&nbsp; %%WIKI:backToList%%
       ,
   
    ----

        &nbsp;,
            <table align="center" border="0" cellpadding="0" cellspacing="0" width="60%">
       
            ----

               , <fieldset class=\"txt12\">
                    <legend class=\"prune\"> %%ADMIN_SPACE:infoAccess%% </legend>
                    <table width =\"100%\" border= \"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"txt10\" id=\"titresnews\">
                       
                            ----

                                %%ADMIN_SPACE:login%%,
                                :&nbsp;,
                               
                               ,
                           
                            ----

                                %%ADMIN_SPACE:password%%,
                                :&nbsp;,
                                ,
                           
                            ----

                              %%ADMIN_SPACE:confirmer%%,
                              :&nbsp;,
                             
                              ,
                     
                       
                   

                    </fieldset></td>
            </tr>
            <tr>
                <td align="center"><fieldset class="txt12">
                    <legend class="prune"> %%ADMIN_SPACE:infoUser%% </legend>
                                                ----

                                %%ADMIN_SPACE:firstName%%,
                                :&nbsp;,
                                ,
                           
                            ----

                                %%ADMIN_SPACE:lastName%%,
                                :&nbsp;,
                                ,
                           
                            ----

                                %%ADMIN_SPACE:email%%,
                                :&nbsp;,
                                ,
                           
                            ----

                                %%ADMIN_SPACE:phone%%,
                                :&nbsp;,
                                ,
                           
                            ----

                                %%ADMIN_SPACE:country%%,
                                :&nbsp;,
                                <select name ="pays" size= "1" id="pays" class="formrech">
                                        ' . $sCountry . '                               
                                    </select>,
                           
                            ----

                                %%ADMIN_SPACE:company%%,
                                :&nbsp;,
                                                                ' . $sCompany . '
                               

                               

                               

                               ,
                           
                            ----

                                %%ADMIN_SPACE:entity%%,
                                :&nbsp;,
                                ,
                           
                            ----

                                %%ADMIN_SPACE:interlocuteur%%,
                                :&nbsp;,
                                                                    <select name="interlocut" class="formrech">
                                        ' . $sInterloc . '
                                    </select>
                               ,
                           
                            ----

                                %%ADMIN_SPACE:suiviOffer%%,
                                :&nbsp;,
                                                                       
                                        <label>%%ADMIN_SPACE:boutonYes%%</label>
                                       
                                        <label>%%ADMIN_SPACE:boutonNo%%</label>,
                                </td>
                           
                            ----

                                %%ADMIN_SPACE:comment%%,
                                :&nbsp;,
                                <textarea id="comment" name="comment" COLS=32 ROWS=2 WRAP=SOFT class="formrech" >' .$aInfoUser['user_comment']. '</textarea>,
                           
                           
                            ----

                   

                    </fieldset></td>
            </tr>
            <tr>
                <td align="center" valign="top"><fieldset class="txt12">
                    <legend class="prune"> %%ADMIN_SPACE:usrRules%% </legend>
                                                ----

                                %%ADMIN_SPACE:profil%%,
                                :&nbsp;,
                                ' . $sProfils . ',
                           
                           
                            ----

                                Wiki %%ADMIN_SPACE:rights%%,
                                :&nbsp;,
                                ' . $sRights . ',
                                               
                            ----

                                Wiki Edition,
                                :&nbsp;,
                                                                   
                                    <label for ="editwikiyes">%%ADMIN_SPACE:boutonYes%%</label>
                                   
                                    <label for="editwikino">%%ADMIN_SPACE:boutonNo%%</label>,
                           
                            ----

                                %%ADMIN_SPACE:activ%%,
                                :&nbsp;,
                               
                                    <label for="activyes">%%ADMIN_SPACE:boutonYes%%</label>
                                   
                                    <label for="activno">%%ADMIN_SPACE:boutonNo%%</label>,
                           
                           
                   

                    </fieldset></td>
            </tr>
            <tr>
                <td align="right" valign="middle">

                                                ----

                                &nbsp;,
                                &nbsp;
                                    kernel->getLanguage() . '&id=' . $iId  . '\'); return false;" />
                               ,
                                   
                                </td>
                           
                   

</td>
            </tr>
    </table>
    </td>
        <td width="6" class="style_right" background="%%METAS:theme%%images/popup_modify_right.gif">&nbsp;</td>
    </tr>
    <tr>
        <td colspan="3" width="650" height="60" class="style_bottom" background="%%METAS:theme%%images/popup_modify_bottom.gif" ></td>
    </tr>
</table>
</form>
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
         if (window.document.getElementById("company_id").value=="")      message_alert += "%%ADMIN_SPACE:erreurCompany%%  \n" ;
            //#### company_id non défini !!!!

                           
                                <!''#### pas les données PHP moi !!!-->
       

et ce n'est pas la page html/javascript telle qu'elle est exploitable qui est ici.
$variable php
et surtout %% ??? %%%  je ne sais de quel langage ....

malgré tout, si on "oublie ces petits soucis" : ça ne plante pas !
l'erreur est ailleurs, je pense.

<hr />


Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
Messages postés
104
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
13 février 2008

pour id_company ca marche meme chose pour le input delet moi je cherche une explication pour le l'erreur (si j'enleve le alert il n'y a aucun message d'erreur)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
pas id_company, company_id
quel alert ? il y en a plusieurs.

je t'assures que, quel que soit le navigateur,
    je serais plus qu'étonné qu'un simple script de contrôle d'un
    formulaire donne le message d'erreur cité.

à mon humble avis encore une fois, l'erreur est "ailleurs"
mais tant qu'on n'aura pas la page html/javascript générée...

essayes avec le formualire et le script donné, simplement,
    dans un bête fichier .htm, si tu rectifies les erreurs de syntaxe
    ( du entre'autre au php )  et que tu élimines celle avec "company_id" ,
    pas de plantage, ni avec FF, ni avec IE.... et tu verra que les %% ??? %%%
    sont "tel quel" à l'affichage.
    tu utilises donc autre chose que html/javascript/php, mais je ne sais pas quoi.

<hr />


Cordialement            Bul         [mon Site]     [M'écrire]     




<hr />
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour




C'est une erreur qui revient souvent dés qu'on met un alert avec l'utilisation d'"ajax" 
Bul --> (bonjour, d'abord ) C'est FF qui donne cette erreur, je ne pense pas que k-meleon signale quoi que ce soit dans ce cas-ci (on peut chercher longtemps !)

Personnellement, je n'ai jamais constaté de dysfonctionnement malgré cette erreur, et je l'ignore purement, a priori ça n'empêche pas les pages de fonctionner, donc ... perso, je pense à un bug de firebug, (mais ça serait un comble)



Cordialement
Roro webDev
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Salut Roro,

    les bugs sont très très rares, c'est vrai pour tous les navigateurs...
    ils ont parfois des comportements qui ne nous conviennent pas,
       qui nous semblent bizarres... mais un plantage ?
    curieux !  surtotu que là
on ne semble pas dans une "fonction Ajax" ?
       
mais va savoir... comme on ne dispose pas de tout...
       tu as peut-être raison...
  
<hr />


Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
Messages postés
104
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
13 février 2008

bonjour ce matin je suis revenu sur la meme fonction pour la reteste je ne sais pas pourquoi j'ai pense a enleve window.document.forms[0].elements[i].focus(); de ma fonction et voila je n'ai plus d'erreur donc il signal l'erreur apres dans lalert