Appel a la fonction Onchange !!!

Signaler
Messages postés
30
Date d'inscription
jeudi 18 décembre 2008
Statut
Membre
Dernière intervention
2 novembre 2009
-
Messages postés
30
Date d'inscription
jeudi 18 décembre 2008
Statut
Membre
Dernière intervention
2 novembre 2009
-
Bonjour voila j'ai fait une fonction JS, qui vérifie si sur ma page
html, a l'endroit ou l'on doit sélectionner les adresse d'envoie, qu'il
y est au minimum une adresse de cocher. Si il y en a pas, un alert doit
s'afficher. Le problème est que je n'arrive pas a créer le code qui
fasse appel a cette fonction. Voila je vous met le code si quelqu'un
peut m'aider.

CODE

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>Wesco - Gestion des Echantillons</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="css/style.css">
<script language="javascript" src="javascript/function.js"></script>

    <form name = "Demande_Echantillons">
                    ----

                                    <table width="936" height="73" border="0" cellspacing="0" cellpadding="0">
                        ----

                             ,
                                 
                              </td>
                                                                <table width="159" height="73" border="0" cellspacing="0" cellpadding="0">
                                      ----

                                         , Utilisateur Connecté:</td>
                                   
                                      ----

                                          <%=Session("ouvert")%>,
   
                                      ,                                      
                                   
                               

                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
                            ----

                                            <table width="936" border="0">
                            <%if session("niveau")= "1" then%>
   
                            ----, <SCRIPT LANGUAGE=\"JavaScript\"
SRC=\"menu/menu_luk_ADMIN.js \"></SCRIPT></td>
                            <%end if%>
                            <%if session(\"niveau\")= \"2\" then%>
   
                            ----
<SCRIPT LANGUAGE="JavaScript"
SRC="menu/menu_luk_admin_cp.js
"></SCRIPT>,
                            <%end if%>
                            <%if session(\"niveau\")= \"3\" then%>
   
                            ----
<SCRIPT LANGUAGE="JavaScript"
SRC="menu/menu_luk_admin_qualite.js
"></SCRIPT>,
                            <%end if%>
                            <%if session(\"niveau\")= \"4\" then%>
   
                            ----
<SCRIPT LANGUAGE="JavaScript"
SRC="menu/menu_luk_admin_direction.js
"></SCRIPT>,
                            <%end if%>
                            ----
&nbsp;,    
                            ----

   
                            Demande
d'échantillons,
                           
                            ----

                                                                    <%'=msgid%>
                               ,
                           
                            ----
&nbsp;,
                       

                                                    <%'sQry2=\"SELECT * FROM fournisseur order by nom_fournisseur asc\"
   
                        sQry2=\"SELECT distinct
contact_fournisseur.id_fournisseur,fournisseur.nom_fournisseur FROM
fournisseur, contact_fournisseur where fournisseur.id_fournisseur =
contact_fournisseur.id_fournisseur and id_utilisateur= \" &
session(\"id_utilisateur\") & \" order by fournisseur.nom_fournisseur
asc\"                                       
                            'Response.Write (sQry2)
                            'Response.End
                            set rsfindcli2 = connex.execute(sQry2)%>
                            ----

                                Founisseur:,
                                                                    <select name="fournisseur" onchange="change_fournisseur(this.value);">
                                        <%if id_fournisseur <> "" then
   
                                        sQry4="SELECT * FROM
fournisseur, contact_fournisseur where fournisseur.id_fournisseur =
contact_fournisseur.id_fournisseur and fournisseur.id_fournisseur= "
& id_fournisseur & " and id_utilisateur= " &
session("id_utilisateur") & " order by nom_fournisseur asc"       
                               
                                            set rsfindcli4 = connex.execute(sQry4)
                                        %>
   
                                        <option selected
value=<%=rsfindcli4("id_fournisseur")%>><%=rsfindcli4("nom_fournisseur")%></option>
                                        <%else%>
                                            <option>Sélectionner votre fournisseur</option>
                                        <%end if%>
                                        <%do while not rsfindcli2.eof%>
   
                                        <option
value=<%=rsfindcli2("id_fournisseur")%>><%=rsfindcli2("nom_fournisseur")%></option>
                                            <%rsfindcli2.MoveNext
                                        loop%>
                                    </select>
                               ,
                           
                            <%if id_fournisseur <> \"\" then%>
                                ----

                                Mails de vos contacts:,
                               
                                <%do while not rsfindcli4.eof%>
                                    ----

                                        ,
                                           
                                        <%if rsfindcli4("langue") =
0 then%><%else%><%end
if%>&nbsp;<%=rsfindcli4("mail_contact")%>
                                       ,
                                                                                " 
onchange="VerifForm('<%=i%>', '<%id_fournisseur%>')"
checked>
                                       ,
                                   
                                    <%rsfindcli4.movenext
                                loop
                            end if%>
                            ----

                                Date:,
                                <%=date()%>,
                           
                            <%if id_fournisseur <> \"\" then%>
                            ----

                                Demande:,
   
                            <!--','Ajout',500,
936, 'no', 'no','no','no');" width=25 height=25 border=0>, -->
           
                    ','NULL');">,
                           
                            <%end if%>
                            <!------

                                ,
                                   
                                );" width=79 height=25
border=0>
                               ,
                            -->
                            ----
&nbsp;,
                       
   
                                           
                            ----

   
                            Liste des
produits en attente,
                           
                       
   
                                                    ----

                                Nbr.,
                                Désignation Produit,
                                Référence Produit,
                                Coloris,
                                Page Produit,
                                Sélectionner,
                           
                            <%
                            if id_fournisseur <> \"\" then
   
                            'sQry3=\"select * from produit whereid_fournisseur\" & id_fournisseur  & \" and id_statut 0 and
id_utilisateur = \" & session(\"id_utilisateur\") & \" order by
page_produit asc\"
                                sQry3=\"select
coloris.*, produit.designation_produit from produit inner join coloris
on produit.id_produit=coloris.id_produit where id_fournisseur= \" &
id_fournisseur  & \" and id_statut = 0 and id_utilisateur = \" &
session(\"id_utilisateur\") & \" order by designation_produit asc\"   
                           
                                set rsfindcli3 = connex.execute(sQry3)
                                i=0
                                cpt=1
                                pairs=true
                                do while not rsfindcli3.eof
                                    if pairs=true then%>
                                        ----

                                        <%pairs=false
                                    else%>
                                        ----

                                        <%pairs=true
                                    end if%>
                                   
                                    <%if rsfindcli3(\"id_produit\") = recup_id_produit then%>
                                        &nbsp;,    
                                        &nbsp;,
                                    <%else%>
                                        &nbsp;<%=cpt%>,
   
                                    ','<%=rsfindcli3("id_produit")%>');"
width=25 height=25
border=0><%=rsfindcli3("designation_produit")%>,
                                        <%cpt=cpt+1
                                    end if%>
   
                                &nbsp;<%=rsfindcli3("ref_produit")%>,
   
                                &nbsp;<%=rsfindcli3("libelle_color")%>,
   
                                &nbsp;<%=rsfindcli3("page_produit")%>,
                                    <%if rsfindcli3(\"id_produit\") = recup_id_produit then%>   
                                        &nbsp;,
                                    <%else%>
   
                                    " name=elem>,
                                    <%    i=i+1
                                    end if%>
                                   
                                    <%
                                    recup_id_produit = rsfindcli3(\"id_produit\")
                                    rsfindcli3.MoveNext
                                loop
                            end if%>
                       
   
                                                    <%if i > 0 then%>
                                ----

                                       
                                ','<%=id_fournisseur%>')" width=79
height=25 border=0>
                                   ,
                               
                            <%end if%>
                       

                       
                       
                             
                    </td>
                </tr>
            </table>
        </table>
        </table>
                           
    <script language="javascript">   
            function edition(nbr,id_fourniss)
            {
            var sValidCheckBox = ""
            if (nbr == 1)
                {
                for(i=0;i<nbr;i++)
                    {
                    if(document.Demande_Echantillons.elem.checked == true)
                        {
                        sValidCheckBox = sValidCheckBox + '|' + document.Demande_Echantillons.elem.value
                        alert(sValidCheckBox)
                        }
                    }
                }
            else
                {
                for(i=0;i<document.Demande_Echantillons.elem.length;i++)
                    {
                    if(document.Demande_Echantillons.elem[i].checked == true)
                        {
                        sValidCheckBox = sValidCheckBox + '|' + document.Demande_Echantillons.elem[i].value
                        }
                    }
                }
           
            if (sValidCheckBox != '')
                {
                document.Demande_Echantillons.htx_recup_id_produit.value = sValidCheckBox
                document.Demande_Echantillons.htx_recup_id_fournisseur.value = id_fourniss
                }
            else
                {
                alert("Vous devez sélectionner un produit...")
                document.Demande_Echantillons.htx_verif.value = 0
                document.Demande_Echantillons.htx_recup_id_fournisseur.value = id_fourniss
                }
            }
           
           
                       
            function change_fournisseur(id_fourniss)
            {
            document.Demande_Echantillons.htx_recup_id_fournisseur.value = id_fourniss
            document.Demande_Echantillons.submit();
            }           
            //function valid_demande(id_fourniss)
            //{
            //document.Demande_Echantillons.htx_recup_id_fournisseur.value = id_fourniss
            //document.Demande_Echantillons.submit();
            //}
            function ajout_ref(id_fourniss, id_produit)
            {
            if (id_produit == 'NULL')
                {
                window.location='demande_colori.asp?idfournisseur='+id_fourniss
                }
            else
                {
                window.location='update_colori.asp?idfournisseur='+id_fourniss+'&idproduit='+id_produit       
                }
            }
function VerifForm(nbr,id_fourniss)
            {
            var sValidCheckBox = ""
            if (nbr == 1)
                {
                for(i=0;i<nbr;i++)
                    {
                    if(document.envoi_mail_relance.elem.checked == true)
                        {
                        sValidCheckBox = sValidCheckBox + '|' + document.envoi_mail_relance.elem.value
                        }
                    }
                }
            else
                {
                for(i=0;i<document.envoi_mail_relance.elem.length;i++)
                    {
                    if(document.envoi_mail_relance.elem[i].checked == true)
                        {
                        sValidCheckBox = sValidCheckBox + '|' + document.envoi_mail_relance.elem[i].value
                        }
                    }
                }
           
                if (sValidCheckBox != '')
                    {
                    document.envoi_mail_relance.htx_recup_id_contact.value = sValidCheckBox
                    }
                else
                    {
                    alert("Vous devez sélectionner au moins un contact...")
                    document.envoi_mail_relance.htx_id_fournisseur.value = id_fourniss
                    }
            }
        </script>   
   
    </form>

<!--#INCLUDE FILE="include/DECONNEXION.asp" -->

FIN CODE

Voila mon erreur doit ce trouver a la ligne que j'ai mis en bleu. J'ai beau chercher je bloque.
Merci d'avance.

8 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
12
bonjour,

et comme très très souvent :
certes , mais comment on devine  ce que génère ( par exemple ) :


          onchange="VerifForm('<%=i%>', '<%id_fournisseur%>')"
checked>
coté client ?
perso je ne suis pas devin, toi si ? mets toi à notre niveau !

de plus tu es absolument sûr que nous coller tout ton code est nécessaire ?
un EXTRAIT de la page html résultante est nécessaire.

faire un ch'tiot effort pour ceux qui vont tenter de t'aider, c'est la moindre
des choses... et très très souvent, mettre sa question en forme permet de
résoudre... tout seul

Cordialement

          [mon Site] [M'écrire]    Bul         
Messages postés
30
Date d'inscription
jeudi 18 décembre 2008
Statut
Membre
Dernière intervention
2 novembre 2009

Ok ok tjrs toi Bul3, bon je reprend je vien de modifiers car je me suis apercu d'une erreur.
Voila ma fonction:

function VerifForm(nbr,id_fourniss)
            {
            var sValidCheckBox = ""
            if (nbr == 1)
                {
                for(i=0;i<nbr;i++)
                    {
                    if(document.Demande_Echantillons.elem.checked == true)
                        {
                        sValidCheckBox = sValidCheckBox + '|' + document.envoi_mail_relance.elem.value
                        }
                    }
                }
            else
                {
                for(i=0;i<document.Demande_Echantillons.elem.length;i++)
                    {
                    if(document.Demande_Echantillons.elem[i].checked == true)
                        {
                        sValidCheckBox = sValidCheckBox + '|' + document.Demande_Echantillons.elem[i].value
                        }
                    }
                }
           
                if (sValidCheckBox != '')
                    {
                    document.envoi_mail_relance.htx_recup_id_contact.value = sValidCheckBox
                    }
                else
                    {
                    alert("Vous devez sélectionner au moins un contact...")
                    document.envoi_mail_relance.htx_id_fournisseur.value = id_fourniss
                    }
            }

Ce qui ce passe maintenant, a chaque fois que j'enlève une sélection de checkbox, un alert ce présente. J'ai aussi modifier mon appel a la fonction:

"  onchange="VerifForm('<%=i%>','<%=id_fournisseur%>')" checked >

j'avais mis contact au lieu de fournisseur.
Voila et même si je n'est aucune case de cocher, le mail s'envoie quand même a tous les contacts. Si tu as d'autre question
                                       
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
12
navré... j'insiste : un extrait de la page html résultante !
   pas le script coté serveur ( quel que soit le langage ) !
je n'arrive toujours pas à voir dans ma boule de cristal
    ce que ça donne coté client <%=i%>   par exemple !!
          [mon Site] [M'écrire] Bul         
Messages postés
30
Date d'inscription
jeudi 18 décembre 2008
Statut
Membre
Dernière intervention
2 novembre 2009

Oui je vuex bien mais pour insérer un apercu sur ce forum, il faut être membre du club, et donc payer, et cela je ne suis pas d'accord.
Donc dis moi comment faire ???
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
12
tu dis n'importe quoi !
membre club n'a rien à voir

tu peux poster un extrait de la page html
    il suffit de ne pas prendre la source de ton script coté serveur
    mais la page affichée sur ton micro, de visualiser la source,
    d'en faire l'extrait nécessaire et de le mettre ! c'est du texte

je me demande comment vous arrivez à mettre au point,
quand il y a une erreur coté client.... ???

          [mon Site] [M'écrire] Bul         
Messages postés
30
Date d'inscription
jeudi 18 décembre 2008
Statut
Membre
Dernière intervention
2 novembre 2009

<tr class=texte>
<td width="25%" valign="middle" align="right">Mails de vos contacts:</td>


</tr>

<tr class=texte>
<td width="15%" valign="top" align="left"></td>
<td>
<img src="/images/fr.bmp"></img>&nbsp;.......eau@wesco.fr
</td>
<td width=10% height=10 valign="top" align="center">
<input type="checkbox" value="40" onchange="VerifForm('','40')" checked >
</td>


</tr>

<tr class=texte>
<td width="15%" valign="top" align="left"></td>
<td>
<img src="/images/fr.bmp"></img>&nbsp;...........eau@voila.fr
</td>
<td width=10% height=10 valign="top" align="center">
<input type="checkbox" value="40" onchange="VerifForm('','40')" checked >
</td>


</tr>

<tr class=texte>
<td width="15%" valign="top" align="left"></td>
<td>
<img src="/images/fr.bmp"></img>&nbsp;.........ing79@hotmail.fr
</td>
<td width=10% height=10 valign="top" align="center">
<input type="checkbox" value="40" onchange="VerifForm('','40')" checked >
</td>


</tr>

<tr class=texte>
<td width="25%" valign="top" align="right">Date:</td>
<td colspan=2 width="75%" height=10 valign="top" align="left">13/01/2009</td>
</tr>

<tr class=texte>
<td width="25%" valign="top" align="right">Demande:</td>



<!--<td colspan=3 width="75%" valign="top" align="left">[javascript:ouverturePopup('demande_colori.asp?idfournisseur=','Ajout',500, 936, 'no', 'no','no','no'); ]</td>-->

<td colspan=3 width="75%" valign="top" align="left"><a href="javascript:ajout_ref('40','NULL');"><img src="images/infos.gif"></a></td>
</tr>

Voila cela doit te suffire alors .
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
12
j'essaye et ???
j'ai pas les fonctions.
je les reprend depuis le 1er message !
et j'ai Demande_Echantillons non défini
je met un <form  name="Demande_Echantillons"
et j'ai Demande_Echantillons.elem non défini...

trop de boulot à mettre en forme pour
pouvoir tester.... ou tu fais l'effort
ou tu attends une bonne âme qui le fasse.
moi, ça me gonfle....

[mon Site][M'écrire]Bul
Messages postés
30
Date d'inscription
jeudi 18 décembre 2008
Statut
Membre
Dernière intervention
2 novembre 2009

Bon j'ai rebosser dessus hier soir et je me suis aperçu de pas mal de connerie de ma part, j'ai donc modifier mon fichier et j'arrive maintenant a ce que je voulais, mais une chose reste encore incorrect, c'est a dire que tout ce passe très bien j'ai mes checkbox, je peux les cocher et les décocher, lorsque je n'est plus d'adresse de cocher, j'ai bien mon alert que je désirait.
Mon problème maintenant est que peut importe si mes checkbox soit cocher ou non, si j'envoie, la demande est envoyer a tout les contact. Je cherche je cherche mais a l'arrivé je retombe toujours sur ce problème. Si quelqu'un veut bien m'aider sans me faire de réflèxion(je suis en BTS par alternance donc j'APPREND), je veux bien fournir les donné que vous me demanderé pour que vous puissiez m'aider.
Merci d'avance.