Formulaires et Javascript

Résolu
Thebuzz Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   -  
Thebuzz Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à toutes et tous,

Grave question pour ma part concernant les formulaires...

J'ai un code Javascript qui m'impose de donner le nom du formulaire "name" alors que je souhaite utiliser ce code dans tous mes formulaires.

Comment pourrais-je faire communiquer le fait que quand je suis sur tel formulaire - exemples de formulaires : contact - ou - commandes - que le code "utilise" le même script.

Mon début de code :
var http = null;
if (window.XMLHttpRequest) // Firefox
http = new XMLHttpRequest();
else if (window.ActiveXObject) // Internet Explorer
http = new ActiveXObject("Microsoft.XMLHTTP");
else // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");


function recup_email(e) {
var sel = document.contact.completion_select ;
var nb_el = sel.options.length ;
var selIndex = sel.selectedIndex ;

if (!document.contact.completion_text.value)
{ sel.style.display = 'none';
}
...

Si je mets le nom exact, en l'occurrence" document.contact.completion_select ;" dans le formulaire "contact", ça fonctionne. Par contre, dans le formulaire commandes, rien ne fonctionne. C'est normal, je sais. En mettant simplement "document.completion_select ;" évidement ça ne fonctionne pas !!!!!!!

Comment faire donc ? Ou comment dire au script que quand il se trouve sur la page formulaire -Contact- alors place contact, si il se trouve sur le formulaire -commandes- alors place commandes !

Simple à dire, mais à faire ?!

Merci de votre aide

3 réponses

artragis Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   146
 
ne conaissant pas ton code en entier je ne peux te dire exactement ce que tu dois faire, mais à mon avis ta solution est dans les connecteur logique AND (&&) et XOR(||)
-1
Thebuzz Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   1
 
Salut artragis,

Mon code est le suivant et se trouve être le javascript appelé par ma page PHP :
var http = null;
if (window.XMLHttpRequest) // Firefox
http = new XMLHttpRequest();
else if (window.ActiveXObject) // Internet Explorer
http = new ActiveXObject("Microsoft.XMLHTTP");
else // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");


function recup_email(e) {
var sel = document.contact_us.completion_select ;
var nb_el = sel.options.length ;
var selIndex = sel.selectedIndex ;

if (!document.contact_us.completion_text.value)
{ sel.style.display = 'none';
}
else if (e.keyCode == 40 && nb_el) { // fleche bas
if (selIndex < sel.options.length - 1)
sel.selectedIndex = selIndex + 1 ;
}
else if (e.keyCode == 38 && nb_el) { // fleche haut
if (selIndex > 0)
sel.selectedIndex = selIndex - 1 ;
}
else if (e.keyCode == 13 && nb_el) { // entrée
document.contact_us.completion_text.value = sel.options[selIndex].value ;
sel.style.display = 'none';
}
else { // autre touche --> on recherche les emails
val = document.contact_us.completion_text.value ;
if (val.length >= minimum_caractere) {
http.open("POST", "ajax_code_postal.php?what=completion1&case="+case_sensitive+"&val="+escape(val), true);
http.onreadystatechange = handleHttpResponse_recup_email;
http.send(null);
}
}
}

function handleHttpResponse_recup_email()
{
if (http.readyState == 4)
{ emails = eval('(' + http.responseText + ')'); // [id1,id2, ...]

var sel = document.contact_us.completion_select ;
sel.attributes['size'].value = emails.length;

// on vide le select
while(sel.options.length > 0)
sel.options[0] = null

// on rempli avec les nouveaux emails
for(i=0 ; i<emails.length ; i++)
sel.options[sel.options.length] = new Option(emails[i],emails[i]);

if (sel.options.length) {
sel.selectedIndex = 0 ; // on selection le premier element de la liste
sel.style.display = 'block';
}
else
sel.style.display = 'none';
}
}

function recup_mail_click() {
var sel = document.contact_us.completion_select ;
document.contact_us.completion_text.value = sel.options[sel.selectedIndex].value ;
sel.style.display = 'none';
}


A+
-1
Thebuzz Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   1
 
Chers tous,

J'ai résolu mon problème en effectuant un include dans chaque appel de mes formulaires et l'affaire est dans le sac...

A+
-1