begin process at 2012 05 29 01:47:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Ajax

 > 

ajax et formulaire, les donnees ne sont pas transmises


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

ajax et formulaire, les donnees ne sont pas transmises

mardi 7 avril 2009 à 12:09:21 | ajax et formulaire, les donnees ne sont pas transmises

pix270

mardi 7 avril 2009 à 12:12:52 | Re : ajax et formulaire, les donnees ne sont pas transmises

Bul3

Membre Club
Bonjour.gif
si on répond au titre, c'est normal,
avec ajax on n'utilise pas de formulaire.



merci.gif [mon Site] [M'écrire] Bul
mardi 7 avril 2009 à 13:43:11 | Re : ajax et formulaire, les donnees ne sont pas transmises

pix270

Tu veux dire que je ne peut pas faire passer quelques variables provenant d'un formulaire via ajax ?
mardi 7 avril 2009 à 14:00:46 | Re : ajax et formulaire, les donnees ne sont pas transmises

Bul3

Membre Club
je n'ai pas dit cela
j'ai dis que ajax n'utilisait pas un formulaire.
rien ne t'empêche de récupérer les champs d'un
formulaire pour les transmettre avec ajax.
@+
mardi 7 avril 2009 à 14:03:46 | Re : ajax et formulaire, les donnees ne sont pas transmises

pix270

Euh c'est normal que mon 1er message semble vide ? J'avais mis mon code dedans mais moi je ne vois rien ???
mardi 7 avril 2009 à 18:00:46 | Re : ajax et formulaire, les donnees ne sont pas transmises

Bul3

Membre Club
pas normal, et je ne vois rien moi non plus,
c'est pour ça et les petites bannières et
le contenu de mon 1er message
quel navigateur utilises-tu ?
ton code, copié/collé depuis un
éditeur de texte, ou cliquer sur
"textbox normale" en dessous du bouton <Ajouter>
@+
mercredi 8 avril 2009 à 11:13:55 | Re : ajax et formulaire, les donnees ne sont pas transmises

pix270

Bon ben je sait pas ce que j'ai fait mais bon voila, je vais re-saisir tout ça.

Donc mon problème est finalement double, à savoir que ma page ne fonctionne pas sous Firefox mais fonctionne sous IE7.
Ensuite, mon script permet en fait d'ajouter à mon formulaire une liste déroulante, j'en ai prévu cinq en tout qui viennent s'ajouter au fur et à mesure des choix que l'on fait dans la liste précédente. Le second problème est donc que la troisième liste est une répétition de la seconde et du coup les suivantes n'apparaissent pas non plus.

Donc voici ma page index.php qui elle n'as rien de particulier

    <head>
        <script type="text/javascript" src="ajax.js"></script>
        <script type="text/javascript" src="fonction.js"></script>
    </head>
    <body>
        <form>
            <label>Crit&egrave;re 1</label>
                <select name="critere" id="critere" onchange="liste(critere,no_table)">
                    <option value="-1">Aucun</option>
                    <?php
                        $sql = mysql_query('SELECT * FROM critere_1 ORDER BY libelle') or die (mysql_error());
                        while ($retour = mysql_fetch_array($sql)) {
                            echo '<option value="'.$retour['id'].'">'.$retour['libelle'].'</option>';
                        }
                    ?>
                </select><input type="hidden" value="1" name="no_table" />
                <div id="suite" style="display:inline">
                </div>
                <div id="suite1" style="display:inline">
                </div>

mon script js, fichier fonction.js

function liste(){
    var xhr = getXhr();
    // On défini ce qu'on va faire quand on aura la réponse
    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){
            if(xhr.status != 200){ //on verifie que le code de status soit ok
                //sinon on affiche le code statut erreur
                document.getElementById("loading").innerHTML = "Erreur code "+xhr.status;
            }else if(xhr.status == 200){
                leselect = xhr.responseText;
                // On se sert de innerHTML pour rajouter les options a la liste
                document.getElementById("suite").innerHTML = leselect;
            }else{
                document.getElementById("loading").innerHTML = "Chargement... <img src='loading.gif' alt='chargement...' />";
            }
        }
    }

    // Ici on va voir comment faire du post
    xhr.open("POST","blank.php",true);
    // ne pas oublier ça pour le post
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // ne pas oublier de poster les arguments
    xhr.send("critere="+document.getElementById("critere").value+"&no_table="+document.getElementById("no_table").value);
}
function liste1(){
    var xhr = getXhr();
    // On défini ce qu'on va faire quand on aura la réponse
    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){
            if(xhr.status != 200){ //on verifie que le code de status soit ok
                //sinon on affiche le code statut erreur
                document.getElementById("loading").innerHTML = "Erreur code "+xhr.status;
            }else if(xhr.status == 200){
                leselect = xhr.responseText;
                // On se sert de innerHTML pour rajouter les options a la liste
                document.getElementById("suite1").innerHTML = leselect;
            }else{
                document.getElementById("loading").innerHTML = "Chargement... <img src='loading.gif' alt='chargement...' />";
            }
        }
    }

    // Ici on va voir comment faire du post
    xhr.open("POST","blank.php",true);
    // ne pas oublier ça pour le post
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // ne pas oublier de poster les arguments
    xhr.send("critere="+document.getElementById("critere").value+"&no_table="+document.getElementById("no_table").value);
    file();
}
.... (à partir d'ici j'ai recopié mes fonctions en incrémentant les quelques valeurs qui en ont besoin car je ne sait pas le faire en js et puis de toute façon j'aimerais déjà que sa marche comme ça.
mercredi 8 avril 2009 à 11:16:53 | Re : ajax et formulaire, les donnees ne sont pas transmises

pix270

arf, j'ai fait une bêtise il en manque un petit bout.

Donc pour finir le fichier blank.php appeler par le script

<?php
    require 'connect.php';
    if(isset($_POST['critere']) && isset($_POST['no_table'])) {
        $critere=$_POST['critere']; //id du critere recuperer du formulaire
        $no_table=$_POST['no_table']; //pour indiquer si on est au 2e, au 3e... critere
        $table="critere_".($no_table+1); //la table critere ou chercher les infos
        $idcri="idcri_".($no_table); //dans les tables 2,3... le champ idcri correspond à l'id de la table precedente
        $form=($no_table+1);
    }
?>
    <label>Crit&egrave;re <?php echo $form?></label>
        <select name="critere" id="critere" onchange="liste1(critere,no_table)">
            <option value="-1">Aucun</option>
            <?php
                $sql = mysql_query('SELECT * FROM '.$table.' WHERE '.$idcri.'='.$critere.' ORDER BY libelle') or die (mysql_error());
                while ($retour = mysql_fetch_array($sql)) {
                    echo '<option value="'.$retour['id'].'">'.$retour['libelle'].'</option>';
                }
                echo '</select><input type="hidden" value="'.$form.'" name="no_table" />&nbsp;&nbsp;';
            ?>
<?php mysql_close(); ?>


Voila, j'espère que quelqu'un pourra m'aider.
Merci.
mercredi 8 avril 2009 à 11:23:11 | Re : ajax et formulaire, les donnees ne sont pas transmises

Bul3

Membre Club
>>ma page ne fonctionne pas sous Firefox mais fonctionne sous IE7.
ah... plus rien à voir ça
difficile sans tester et comme on n'a pas tout....
mais pas de raisons fondamentales , si ça baigne
       avec IE, ça doit baigner avec FF, même s'il
       existent quelques différences ( doux euphémisme )
il doit, probablement, y avoir des erreurs de signalées
tu as fais du deboggage ?

NavigateursQuelques Explications

Chrome
contrôler page actuelle / Options pour développeurs
/ Console Javascript

FireFox
Outils / Console d'erreurs
et mieux : télécharger FireBug

Internet
Explorer
activer le deboggage : Outils/options Internet/Avancés
dans la liste, sous "Navigation" : décocher
o Afficher une notification de chaque erreur de script
o Désactiver le débogage de Scripts (Internet Explorer)
et mieux (pour IE < 8) : télécharger le Debogger IE
voir aussi : DebugBar et Companion JS

K-Meleon
Outils / Console d'erreurs

Opera
Outils / Avancé / Console d'erreurs

Safari
Debug / Show JavaScript Console
° modifier Fichier com.apple.Safari.plist situé dans le
répertoire : Support:\Documents and Settings\utilisateur
\Application Data\Apple Computer\Safari\Preferences\
y ajouter <key>IncludeDebugMenu</key>
<true/>

mercredi 8 avril 2009 à 11:50:10 | Re : ajax et formulaire, les donnees ne sont pas transmises

pix270

Alors IE ne m'affiche rien, comme ça c'est fait

Par contre sous FF, la console d'erreur et firebug marque
document.getElementById("no_table") is null Ligne: 50


1 2 3

Cette discussion est classée dans : donnees, formulaire, ajax, transmises


Répondre à ce message

Sujets en rapport avec ce message

bouton dans un formulaire [ par anas0079 ] j'ai un probleme ,je ne sais pas comment ajouter un bouton dans un tableau (les données sont recuperées d'une base de donnees).mon but est de supprime [DEPLACE]Select avec possibilité d'ajout par formulaire pour gestion disques [ par gandalf76fr ] Bonjour, Je suis débutant malgré moi an Ajax, ma spécialité étant le php/mysql. Suite à une demande je suis en train de travailler sur un script de PopUp ajax lors de l'envoi de formulaire [ par newsmatique ] Bonjour,j'ai un formulaire, qui m'envoi des données en GET sur la page traitement.php, je voudrais que lors de l'envoi de ce formulaire cela m'ouvre u Pb de soumission de formulaire php avec jQuery [ par prozenproses ] Bonjour,Avant toute chose je vous annonce que je travaille sur une "plateforme" AJAX avec jQuery.Mon site se compose en 3 partie : - l'entete : qui re TELECHARGEMENT DES DONNEES BINAIRE VIA AJAX [ par imssouane ] j'ai un projet pour la recuperation des données binaire (fichier PDF,image.....) dans une appliction client serveur, svp est ce que il y'a  quelqu'un ajax and listbox [ par nvinvinvi ] j'ai un formulaire avec 2 listbox (catégorie/sous catégorie) la listbox sous catégorie est construite en fonction du choix fait dans la première. P formulaire AJAX [ par TomSoyer ] Bonjour à tous.Je suis programmeur débutant et j'aimerais bien faire un formulaire en AJAX avec des radio boutons et quand un clic sur 1 de ces radio Formulaire dynamique [ par alphacrash ] Salut à tous, je vous explique mon problème :Je récupère le contenu d'une chaîne, par exemple celle-ci :$chaine="" contenant du code ht Autocompletion Ajax sur plusieurs champs dans un formulaire [ par barney06 ] Bonjour,Je suis entrain d'utiliser l'autocompletion (lorsque l'on tape une entrée dans un champs de formulaire, les résultats trouvés par l'entrée, s' Tres Urgent cherche un Formulaire avec les controle d'Ajax suivant [ par ikbel1992 ] Salut à tous C'est une affaire hyper urgente j'ai que 2 journée pour résoudre ce probléme . Je veux créer un Formulaire avec les Controle de saisie s


Nos sponsors


Sondage...

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 : 0,967 sec (3)

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