Formulaires et Javascript
Résolu
Thebuzz
Messages postés
43
Statut
Membre
-
Thebuzz Messages postés 43 Statut Membre -
Thebuzz Messages postés 43 Statut Membre -
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 :
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
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
A voir également:
- Formulaires et Javascript
- Telecharger javascript - Télécharger - Langages
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Javascript arrondi - Forum Javascript
- Formulaire rempli et signé - Guide
3 réponses
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(||)
Salut artragis,
Mon code est le suivant et se trouve être le javascript appelé par ma page PHP :
A+
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+