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 :

passage de parametre pour une image


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2006
    Messages : 28
    Points : 24
    Points
    24
    Par défaut passage de parametre pour une image
    bonsoir,
    j'ai un formulaire qui me permet d'insérer des images dans ma base de données Mysql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     <tr>
      <td height="30"><div align="left">IMAGE
        <input type="hidden" name="MAX_FILE_SIZE" id="MAX_FILE_SIZE" value="250000" />
      </div></td>
      <td height="30"><input type="file" name="fic" id="fic" size=20 /></td>
      </tr>
    j'ai un fichier javascript ou je recupere l'id de l'image avant le POST

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    fic = document.getElementById('fic').value;
    mon probleme est au niveau du bouton qui valide le formulaire;
    en fait mes messages d'erreurs doivent s'afficher sur un div que j'ai mis sur le formulaire et quand j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input  type="submit" onclick="ajout_art()" value="Valider"/>
    le code marche et l'image est insérée dans la base de données mais la page change.mais quand j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input  type="button" onclick="ajout_art()" value="Valider"/>
    la page reste statique mais l'image n'est pas créée dans la BD
    je voudrais que la page reste statique et que l'image soit créée dans la BD.
    si quelqu'un peut m'aider?
    merci d'avance.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input  type="submit" onclick="ajout_art();return false" value="Valider"/>
    Mais ça n'explique pas que le input button fonctionne pas... tu peux montrer le code de ajout_art() ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2006
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    le code ajourt_art() se présente comme suit

    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
     
    function ajout_art(){
    	document.getElementById("stat").innerHTML= "Chargement en cours...";
    	//je recupere les id de mon formulaire
            ref = document.getElementById('ref').value; 
    	designation = document.getElementById('designation').value; 
    	prix_pub = document.getElementById('prix_pub').value;  
    	fic = document.getElementById('fic').value; 
           //verification si les champs sont vides
    	if((ref!='')&&(designation!='')&&(prix_pub!='')&&(fic!='')){
    	var page = "creart.php"; 
    	var url = "ref= "+ref+ "&designation= "+designation+ "&prix_pub= "+prix_pub+ "&fic= "+fic; 
    	oxhr = createXHR();
    	oxhr.open("post", page, true);
    	oxhr.onreadystatechange = function(){
    		if (oxhr.readyState == 4 && oxhr.status == 200){ 	
    		var ng =oxhr.responseText;
    		document.getElementById("rep").innerHTML="Donn&eacute;es enregistr&eacute;es avec succ&egrave;s";
            document.getElementById("stat").innerHTML= "";	
            document.getElementById('ref').value='';
    		document.getElementById('designation').value='';
    		document.getElementById('prix_pub').value='';
    		document.getElementById('fic').value='';
     
    		}
    	}	
    	oxhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
    	alert ("valeurs envoyees: "+url);
    	oxhr.send(url);	}
    else{
    		document.getElementById("rep").innerHTML="Veuillez remplir les champs SVP!!!";
    		document.getElementById("stat").innerHTML= "";
     
    	}

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2006
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    même avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input  type="submit" onclick="ajout_art();return false" value="Valider"/>
    il ne fait rien du tout.

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    il ne fait rien du tout.
    C'est-à-dire ?
    Ta bdd n'est pas à jour ? Tes champs ne sont pas réinitialisés ? Que contient ton responseText ? Montres-nous le code html du form...

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    la soumission d'un form entraine le rechargement de page, il faut donc passer par ajax ..

    Il y a eu un post dans les contributions sur l'envoi de données de formulaire en ajax qui s'est soldé par ce lien http://prototypejs.org/api/form/serialize

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2006
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    quand je dis il ne fait rien du tout c'est à dire qu'il n'insere pas dans la base de données mais les champs sont réinitialisés

    le code du formulaire est le suivant
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
     
    <form enctype="multipart/form-data" action="creart.php"  name="article" id="article" method="post">
    	<fieldset style="width:340px">
    	<legend>Ajout d'un Article </legend><br />
    	<table width="349"border="0">
      <tr>
        <td width="178"><label>
        <div align="left">REFERENCE</div>
        </label></td>
        <td width="161" >
     
                  <div align="left">
                    <input name="ref" id="ref" type="text" maxlength="40" />
                  </div></td>
      </tr>
      <tr>
        <td><label>
          <div align="left">DESIGNATION</div>
        </label></td>
        <td>
     
                  <div align="left">
                    <textarea name="designation" id="designation" cols="15" rows="2" wrap="physical"></textarea>
                  </div></td>
      </tr>
      <tr>
        <td><div align="left">PRIX PUBLIE </div></td>
        <td>
     
                  <div align="left">
                    <input type="text" name="prix_pub" id="prix_pub" />
                  </div></td>
      </tr>
      <tr>
      <td height="30"><div align="left">IMAGE
        <input type="hidden" name="MAX_FILE_SIZE" id="MAX_FILE_SIZE" value="250000" />
      </div></td>
      <td height="30"><input type="file" name="fic" id="fic" size=20 /></td>
      </tr>
      <tr>
        <td height="42" colspan="2"><label>
     
                  <div align="center">
                    <input  type="reset" name="annuler" id="annuler" value="Annuler" />
    				<input  type="submit" onclick="ajout_art()" value="Valider"/>
                  </div>
        </label>	    
     
            <div align="left"></div></td>
        </tr>
    </table>
         <div id="rep"> 
    	 </div>
    	 <div id="stat"></div>
    	</fieldset>
    	</form>

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    ça fait plaisir ...

    submit => rechargement de page

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2006
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    c'est vrai c'est pour cela que je veux pas recharger ma page.
    j'utilise un code java script. mais le probleme se porte sur le bouton valider
    quand je met type="button". le formulaire se reinitialise mais l'envoie n'est pas effectué et l'article n'est pas créée au niveau de la BD mais si je mets type="submit" alors il crée mais il passe...

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    ça fait plaisir ...

    submit => rechargement de page
    Ca n'explique pas que ça ne fonctionne pas avec un input type button...

    @roussos : qu'est-ce qui te fais dire que ta base n'est pas à jour ? car dans ta requête Ajax, tu ne traites pas de valeur de retour, donc tu ne peux pas visualiser les changements.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2006
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    lorsque je valide le formulaire je vérifie au niveau de ma base de données Mysql avec phpmyadmin si l'article est crée ou pas .
    avec le submit il marche mais il recharge la page, avec button , il réinitialise le formulaire mais sans créer quoi que ce soit dans la BD.

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var url = encodeURIComponent("ref= "+ref+ "&designation= "+designation+ "&prix_pub= "+prix_pub+ "&fic= "+fic);

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    tu trouves étonnant que les champs soient réinitialisés ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     document.getElementById("stat").innerHTML= "";	
            document.getElementById('ref').value='';
    		document.getElementById('designation').value='';
    		document.getElementById('prix_pub').value='';
    		document.getElementById('fic').value='';
    pas moi ...


    Si les images ne sont pas dans la base, ça vient du traitement coté php...
    on peut voir comment tu insères les images dans la base ?

  14. #14
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2006
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    Non ce bout de code est mis pour reinitialiser mes champs apres l'insertion ce qui me parait normal si je dois faire un autre ajout sans pour autant rafraichir la page.
    le code php que j'utilise pour inserer les images est le code que j'ai pris dans les tutoriels PHP, il est de Cyril Beaussier il se présente comme suit
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
     
    <?php 
    session_start();
     
     
    include("connexion.php");
     
    $fic = false;
    $img_blob = '';
    $img_taille = 0;
    $img_type = '';
    $img_nom = '';
    $taille_max = 250000;
    $fic = is_uploaded_file ($_FILES['fic']['tmp_name']);
    $ref = $_POST['ref'];
    $designation = $_POST['designation'];
    $prix_pub = $_POST['prix_pub'];
     
     
    // on affiche un message d'erreur si l'un d'eux n'est pas remplis
     
    if ( !$fic )
    {
    echo "Problème de transfert";
    return false;
    }
    else
    {
    // Le fichier a bien été reçu
    $img_taille = $_FILES['fic']['size'];
    if ( $img_taille > $taille_max )
    {
    echo "Trop gros !";
    return false;
    }
    $img_type = $_FILES['fic']['type'];
    $img_nom =  $_FILES['fic']['name'];
     
    $img_blob = file_get_contents ($_FILES['fic']['tmp_name']);
     
    $requete = ("INSERT INTO ARTICLE (REF,DESIGNATION,PRIX_PUB,".
    		     "img_nom, img_taille, img_type, img_blob".", IDSOUSFAM)
                 VALUES ('$ref','$designation','$prix_pub', ".
    			"'".$img_nom."', ".
    			"'".$img_taille."', ".
    			"'".$img_type."', ".
    // N'oublions pas d'échapper le contenu binaire
    			"'".addslashes ($img_blob)."',
    			".$_SESSION['id_sous_famille'].");");
     
    $result = mysql_query($requete);
    return true;
    }
    mysql_close();
    ?>

  15. #15
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    en ajax tu ne passes pas de FILES ... tu ne passes que du string ...

    http://www.developpez.net/forums/d49...ad-image-ajax/

  16. #16
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2006
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    j'ai jamais eu à utiliser les iframes et si cela doit etre le cas je connais pas comment m'y prendre et dans ce cas est ce que le code php pour l'insertion de mon article sera modifié? je suis un peu perdu.......

  17. #17
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    tout est expliqué dans le post dont j'ai donné le lien, je me demande même si il n'y a pas un truc dans les contributions

  18. #18
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2006
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    Non il y a aucun truc derrière les contributions. j'ai relu le post que tu m'as envoyé.Merci j'insère mon formulaire sans rechargement de la page . les iframes m'ont bien aidés . merci encore

  19. #19
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    he ben tu vois quand on ne fait pas les choses à moitié ...


    oui desolé mais je n'ai pas pu m'empecher de la faire celle là

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

Discussions similaires

  1. [TOS DI][v5.3.1] passage de date en parametre pour une requete
    Par fredlaciotat dans le forum Développement de jobs
    Réponses: 6
    Dernier message: 29/04/2014, 14h02
  2. passage de parametre pour une fonction de validation
    Par kaygee dans le forum ASP.NET
    Réponses: 5
    Dernier message: 08/10/2009, 11h25
  3. [langage] Passage de paramètres dans une fonction
    Par And_the_problem_is dans le forum Langage
    Réponses: 11
    Dernier message: 28/06/2004, 08h20
  4. [langage] passage de paramètres à une fonction
    Par BARBIER dans le forum Langage
    Réponses: 4
    Dernier message: 07/05/2004, 15h46
  5. Passage de parametre a une anim Flash 5
    Par debug dans le forum Intégration
    Réponses: 4
    Dernier message: 03/06/2002, 17h59

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