begin process at 2012 05 29 22:26:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

Rafraichir div avec select méthode POST


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Rafraichir div avec select méthode POST

mardi 24 mars 2009 à 19:50:35 | Rafraichir div avec select méthode POST

gabi26

Bonjour,

Mon premier message sur le forum qui jusque là m'a bien inspiré!Voici le Hic:
J'utilise un select pour appeler différentes pages php. Le script utilisé est en méthode POST et je ne sais pas comment faire avec AJAX pour rafraichir le div qui reçoit le texte sans recharger toute la page.
J'y arrive en méthode GET au moyen de liens inclus dans un menu. Mais avec le select je suis coincée. Aucune piste et je cherche depuis plusieurs jours.Voici la forme élémentaire de mon sélect:

<form action="#" method="POST">
<fieldset>
<legend>Thème</legend>
<label for="nom">Rubriques</label>
<select id="nom" onChange="location.href='index.php?page='+document.getElementById('nom').options[document.getElementById

('nom').selectedIndex].value">
<option value="1" >-------------</option>
<option value="rubrique1" >Rubrique1</option>
<option value="rubrique2">Rubrique2</option>
<option value="rubrique3" >Rubrique3</option>
</select>
</fieldset>
</form>

Pour info voici le script ajax.js:

function envoieRequete(url,id)
{
var xhr_object = null;
var position = id;
if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest();
else
if (window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP");

// On ouvre la requete vers la page désirée
xhr_object.open("GET", url, true);
xhr_object.onreadystatechange = function(){
if ( xhr_object.readyState == 4 )
{
// j'affiche dans la DIV spécifiées le contenu retourné par le fichier
document.getElementById(position).innerHTML = xhr_object.responseText;
}
}
// dans le cas du get
xhr_object.send(null);

}


Qu'est-ce que je suis censée écrire et y aura-t-il conflit avec mon ajax.js qui appelle d'autres pages en méthode GET? Sinon est-ce que je peux le transformer pour le passer en GET?
Merci de votre aide!
Configuration: Windows Vista
Firefox 3.0.7

mardi 24 mars 2009 à 23:50:13 | Re : Rafraichir div avec select méthode POST

jdmcreator

Oh ! Je ne sais pas trop quoi te répondre mais comme personne ne t'as répondu...

As-tu pensé à utiliser une iFrame. Tu pourrais appelé ta page PhP dans la frame ou même que ton Div soit dans la frame ;)

Mais je ne crois pas répondre à ta question,

JDMCreator
mercredi 25 mars 2009 à 00:10:39 | Re : Rafraichir div avec select méthode POST

gabi26

Merci d'avoir répondu! Ca fait plaisir!!!Même si je crois effectivement que ça n'y répond pas tout à fait.
Je cherche à ne pas utiliser les frames ou iframes.
S'il y a un moyen avec ajax de rafraichir un div avec la méthode GET je me dis que ce ne doit pas être impossible avec POST à partir d'un select. Mais chaque fois que je trouve un script sur un forum ça parle de table SQL et des formulaires, blablabla, et le script devient obscur pour moi qui débute juste avec ajax. Je veux juste amener un texte via un select, et pis c'est tout. T'as pas une autre piste...(snifff)?
Merci, en attendant!
mercredi 25 mars 2009 à 09:05:51 | Re : Rafraichir div avec select méthode POST

Bul3

Membre Club


Bonjour,

select ou pas, ajax c'est possible en get ou en post
la réponse du serveur est retournée dans une variable,
tu en fais ce que tu veux, donc pourquoi pas afficher dans un div.
faire une ch'tiote recherche sur "ajax" ( ou "xmlhttprequest" ) dans codesSources
et/ou sur la toile ==> foultitudes de réponses ( et c'est 10 lignes coté javascript ! )


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

mercredi 25 mars 2009 à 13:23:39 | Re : Rafraichir div avec select méthode POST

gabi26

En fait je peux l'envoyer en POST et l'afficher dans un div. J'utilise xmlhttprequest en méthode GET pour des lies dans mon menu. Mon problème c'est de trouver comment faire avec le select en méthode POST pour qu'il ne me rafraichisse pas toute la page.
Exemple: j'ai un diapo en haut de la page...et il recommence indéfiniment à chaque appel. Une colonne ouverte avec scriptaculous sur la gauche se referme de même à chaque onClick sur une option.
Je cherche toujours...mais pour l'instant je tombe sur des trucs super complexes et pas justement ces quelques lignes de script. J'imagine que ça doit pas être bien compliqué...j'arrive juste pas à trouver ce que je cherche. J'envisage d'abandonner le select mais ça m'énerve...j'aimerais bien connaître l'astuce.

Cordialement,
Gabi26
mercredi 25 mars 2009 à 13:46:27 | Re : Rafraichir div avec select méthode POST

Bul3

Membre Club

>>comment faire avec le select en méthode POST
select en method post ?
ça ne veut rien dire ça ?
tu peux appeler le php avec ajax avec method post
suite au choix d'une option dans un select, ça oui

>> pour qu'il ne me rafraichisse pas toute la page.
ben.... c'est ajax ça.
la réponse du serveur avec ajax n'est pas affichée
mais retournée dans une variable js, donc tu en
fais ce que tu veux

>>J'utilise xmlhttprequest en méthode GET pour des lies dans mon menu.
d'autant plus, si tu utilises tu as tout ce qu'il faut
( au get ou post prsè, mais ça ne change rien
  $_POST coté php, et les paramètres transmis
  dans le send coté js, rien d'autre )
mercredi 25 mars 2009 à 14:18:32 | Re : Rafraichir div avec select méthode POST

gabi26

Merci pour tes réponses.
Je continue de chercher. je crois que jai compris et m'en vais de ce pas...réessayer!(trifouiller du côté de la variable et du send)
Je te tiens au courant...!
Merci à toi.
Bonne journée.
mercredi 25 mars 2009 à 14:30:07 | Re : Rafraichir div avec select méthode POST

Bul3

Membre Club
>>je crois que j'ai compris
alors.. c'est nickel !   tu vas trouver comment faire.
@+

mercredi 25 mars 2009 à 20:56:48 | Re : Rafraichir div avec select méthode POST

gabi26

Juste pour info je te dis où j'en suis, càd...toujours aussi bloqué même en simplifiant...Voici les bouts de code.

(Pour ajax.js)

var xhr = null;
    {
    if(window.XMLHttpRequest)
       xhr = new XMLHttpRequest();
    else if(window.ActiveXObject)
    {
    try    {
    xhr = new ActiveXObject("Msxm12.XMLHTTP");
    }
    catch (e)    {
    xhr=new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    else
    {
       alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest.");
       xhr=false;
    }
  
function go() {
var xhr = getXhr ()

xhr.onreadystatechange=function ();
{
if (xhr.readyState == 4 &&xhr.status == 200)
{
document.getElementById ('rub').innerHTML = xhr.responseText;
}
}
xhr.open("POST",'preambule.php',true);
xhr.setRequestHeader ('Content-Type','application/x-www-form-urlencoded');
sel=document.getElementById ('rub');
idrub=sel.options[sel.selectedIndex].value;
xhr.send("idrub="+idirub);


Et à l'intérieur de "index.php" (ai mis qu'une seule option pour essayer en appelant seulement une page php prédéfinie)

<div id="form">
<form action=' ' method="POST">
 <fieldset>
 <legend>Traduction</legend>
 <label for="rub">Rubriques</label>

<select id="rub" onchange="go ();">
<option value="1" >-------------</option>
 <option value="preambule" >Pr&#233ambule</option>
 </select>
</fieldset>
</form>
</div>

Je m'approche j'espère mais ça ne veut rien savoir. Or je n'en suis qu'au début car je dois pour chaque option appeler une page php différente et la placer dans un div précis. (ce que j'arrive à faire quand ils 'agit d'un lien qui appelle, avec ajax et la méthode GET, une page php spécifique ...Mais j'y viendrais en temps voulu).
Allez zou! je garde courage! Si tu peux toutefois m'éclairer une fois de plus... merci d'avance. Bonne soirée.
J'y retourne....


jeudi 26 mars 2009 à 10:16:04 | Re : Rafraichir div avec select méthode POST

Bul3

Membre Club



page "appel"


<body>
    <script>
    function envoieRequete(url)
    {    var xhr_object = null;
        if     (window.XMLHttpRequest)
                  {    xhr_object = new XMLHttpRequest();    }
        else    {    if     (window.ActiveXObject)
                    {    xhr_object = new ActiveXObject("Microsoft.XMLHTTP");    }
                 }
        xhr_object.open("POST", url, true);
        xhr_object.onreadystatechange = function()
            {    if ( xhr_object.readyState == 4 )
                {    document.getElementById('iddiv').innerHTML = xhr_object.responseText;
                    document.getElementById('nom').onchange=function()
                    {    alert(this.selectedIndex);    };  // pour voir, c'est tout
                }
            }
        xhr_object.send("");
    }

    envoieRequete("p1.php");

    </script>
<div id="iddiv"></div>
</body>


 p1.php :


<form action="#" method="POST">
    <fieldset>
    <legend>Thème</legend>
    <label for="nom">Rubriques</label>
    <select id="nom"
        <option value="1" >-------------</option>
        <option value="rubrique1" >Rubrique1</option>
        <option value="rubrique2">Rubrique2</option>
        <option value="rubrique3" >Rubrique3</option>
    </select>
    </fieldset>
</form>


ça baigne. pas regardé pourquoi par rapport à toi ;o)


1 2 3

Cette discussion est classée dans : get, méthode, xhr, object, div


Répondre à ce message

Sujets en rapport avec ce message

Prob rechargement XmlHttpRequest [ par sunee ] Bonjour,  Bon j'ai hésité à poster dans au secours hein  ... mais je vais poster dans la catégorie concernée...Quelqu'un a-t-il déjà rencontré des pro je suis débutant. j'ai besion d'aide svp merci [ par dpk1 ] bonjour, je fais mon premier site. j'ai fait un model en html css et je suis au php. je passe des nuit blanche à apprendre. mais là je suis tomber sur Ajax et https [ par brian85 ] Bonjour, j'ai migré mon intranet sur un serveur en https pour des raisons de sécurité, mais depuis mes appels Ajax ne passent plus en effet firebug me Ajouter un preload au chargement d'un div [ par renaud2006 ] Bonjour, voila j'utilise une simple fonction de chargement de div en javascript , le petit soussis c'est que j'aimerai y rajouter un préload de charge Pb d'utilisation de données chargées dans une div avec ajax [ par sagat06 ] Bonjour à tous, donc voilà: je rempli une div avec le contenu d'un fichier texte grâce à la fonction suivante trouvé sur Codes-sources => var mox; fun caché un div après clic et ouverture d'une autre [ par wiby35 ] bonjour,je ne suis pas sur d'être dans la bonne partie du forum.. je vais essayer d'être claire et de faire simple ( heuuu c'est pas gagné )lol alor mysql_query($query) renvoie toujours false avec requête créer dans JavaScript. [ par jbiloeb ] Bonjour Je suis débutant en JavaScript et j'apprends en autodidacte par l'exemple donc désolé s'il y a une (des) grosse(s) bêtise(s) dans mon code ou Variable POST [ par ghota ] Bonjour, j'aurais une question dans mon code. [code=js]function goAjaxPost(module,action,variables,id) { var xhr_object = null; var position = id; if Pb avec xhr_object.open et IE [ par Degom95 ] Bonjour, Je gère un site de club et j'ai essayé de mettre à jour un DIV avec un fichier externe, après pas mal de recherche sur Codes-Sources, j'ai vu panier d'achat mis a jour [ par Dav_c ] Bonjour, je code un script de e-commerce qui pour l'instant marche sans problème sauf que le panier ne s'actualise pas toujours. Bref un peu de code


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,248 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales