IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Ajax+Asp, formulaire & select multi-lignes


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [AJAX] Ajax+Asp, formulaire & select multi-lignes
    Bonjour,

    je rencontre un problème sur un formulaire possédant deux listes de type select multi-lignes :



    Le formulaire est en post et la validation appelle une fonction javascript qui fait appel à de l'ajax. Le problème est qu'après validation du formulaire je n'arrive pas à récupérer les élements de ma liste dans mon script asp.

    Voici le bout de code javascript utilisé par le formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    function AjaxPost(liste,zone,script)
    {
    	var xhr = null; 
     
    	if(window.XMLHttpRequest) // Firefox et autres
    	   xhr = new XMLHttpRequest(); 
    	else if(window.ActiveXObject)
    	{
    		try 
    		{
    			xhr = new ActiveXObject("Msxml2.XMLHTTP");
    		} 
    		catch (e) 
    		{
    			xhr = new ActiveXObject("Microsoft.XMLHTTP");
    		}
    	}
    	else 
    	{ // XMLHttpRequest non supporté par le navigateur 
    	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    	   xhr = false; 
    	}
     
    	xhr.onreadystatechange = function()
    	{
    		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    		if(xhr.readyState == 4)
    		{
    			writediv(zone,xhr.responseText);
    		}
    	}
    	xhr.open("POST",script,true);
    	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    	xhr.send("photo_selected="+liste);
    }
    Voici un bout de code du formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <td colspan="3" align="right">
    			La selection des photos est terminée, veuillez passer à l'étape suivante pour valider l'ajout des photos.
    			<input type="button" id="bouton_tofs" name="bouton_tofs" value="Suivant" onclick='javascript:AjaxPost(this.form.photo_selected.value,"contenu","modif_photo.asp")' disabled />
    		</td>
    Merci d'avance pour vous réponses.

  2. #2
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bon j'ai trouvé ...

    Il suffit de prendre chaque élément de la liste en javascript et de les concaténer dans une variable.

    Pour ceux que ça intéresse voila le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    function AjaxPost(liste,zone,script)
    {
    	var xhr = null;
     
    	var selectedList = new Array();
    	var selectBox = document.forms[0].photo_selected;
     
    	var list = "";
    	for (var i=0; i<selectBox.options.length; i++) {
    		alert(selectBox.options[i].value);
    	    list += selectBox.options[i].value+";";
    	}
     
     
    	if(window.XMLHttpRequest) // Firefox et autres
    	   xhr = new XMLHttpRequest(); 
    	else if(window.ActiveXObject)
    	{
    		try 
    		{
    			xhr = new ActiveXObject("Msxml2.XMLHTTP");
    		} 
    		catch (e) 
    		{
    			xhr = new ActiveXObject("Microsoft.XMLHTTP");
    		}
    	}
    	else 
    	{ // XMLHttpRequest non supporté par le navigateur 
    	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    	   xhr = false; 
    	}
     
    	xhr.onreadystatechange = function()
    	{
    		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    		if(xhr.readyState == 4)
    		{
    			writediv(zone,xhr.responseText);
    		}
    	}
    	xhr.open("POST",script,true);
    	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    	xhr.send("photo_selected="+list);
    }
    Ensuite reste plus qu'a faire un Split dans le code Asp pour récupérer chaque champs.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Ajax et un formulaire(dans un div include)
    Par HWICE dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/09/2007, 16h49
  2. [AJAX] Ajax et nombre d'internautes en ligne
    Par Navyel dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/05/2007, 19h23
  3. [AJAX] Ajax, formulaire, div et select
    Par n8ken dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/09/2006, 10h51
  4. [AJAX] Ajax et formulaire
    Par Mimi Bulles dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 13/05/2006, 15h17
  5. [AJAX] Ajax et ASP.NET
    Par boleduch dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/03/2006, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo