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

HTML Discussion :

envoi d'un formulaire avec des input disabled


Sujet :

HTML

  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    104
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 104
    Points : 71
    Points
    71
    Par défaut envoi d'un formulaire avec des input disabled
    salut, j'ai mon formulaire avec des champs, certains sont remplis par des select donc je les ai mis disabled pour éviter des erreurs et ne pas les modifier.
    seulement quand j'envoie le formulaire, tous les champs en disabled ne sont plus envoyé ce qui fait qu'au lieu de mettre à jour une entrée de ma bdd, je crée une entrée et c'est pas cool.
    Quel est le moyen d'y remédier si c'est faisable ou sinon avec une autre solution(propriété readonly???) ?
    merci les gens

  2. #2
    Membre émérite Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Points : 2 589
    Points
    2 589
    Par défaut
    Bonjour,
    Comme tu viens de le dire, mettre un readonly="readonly" devrait normalement régler le problème (readonly seul si tu travaille en HTML)
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  3. #3
    Membre régulier
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    104
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 104
    Points : 71
    Points
    71
    Par défaut
    merci beaucoup en effet ça fonctionne mais le problème maintenant c'est que mes champs en readonly sont variables, les readonly sont les champs qui sont déja remplis et en fonction des entrées dans la base ce ne sont pas toujours les meme qui sont readonly.

  4. #4
    Membre averti Avatar de Poulpynette
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 349
    Points : 391
    Points
    391
    Par défaut
    Si tu utilises une base de données, j'imagine que tu utilises un langage script tel que Php.

    Dans ce cas il te suffit de tester lors du remplissage de tes champs quels sont ceux qui seront pré-remplis, et de les activer en ou non en fonction de ça.
    Développeuse
    Merci d'expliquer aux autres la solution si vous la trouvez, par respect pour ceux qui prennent le temps de tenter de vous aider !

  5. #5
    Membre régulier
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    104
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 104
    Points : 71
    Points
    71
    Par défaut
    oui du php mais en fait j'ai une fonction javascript qui lors du chargement de la page désactive tous les champs pleins.
    Ca peut se faire en php ça?parce que je préférerais.
    sinon je dois faire une fonction javascript qui réactive tous les champs et je l'appelle en onsubmit dans le formulaire.Assez lourd comme technique

  6. #6
    Membre émérite Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Points : 2 589
    Points
    2 589
    Par défaut
    Dans l'idée :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function read_only($val)
    {
    	$val_read = 'readonly="readonly"';
    	if(!empty($val))
    	 return $val_read;
    }

    Petit exemple rapide :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <?php $val = 'test'; ?>
    <input type="text" <?php echo read_only($val); ?> />
    Tu appliques la fonction sur les champs de ton choix.
    Si $val n'est pas vide, mise en readonly, sinon rien... (exemple à adapter)

    Tu n'es plus sur le bon forum pour cela... Le forum PHP serait plus approprié...
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  7. #7
    Membre averti Avatar de Poulpynette
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 349
    Points : 391
    Points
    391
    Par défaut
    Lorsque tu charges ta page, tu testes tes données pour savoir si tu remplis tes champs.

    De la même façon, tu peux dire par exemple :

    - si tu remplis ton champ, tu écris <input ... disabled> (pas sûre de la syntaxe mais elle existe en HTML)
    - si le champ reste vide, tu écris <input ...> normal

    Edit : ouais "readonly" plutôt pardon ^^
    Développeuse
    Merci d'expliquer aux autres la solution si vous la trouvez, par respect pour ceux qui prennent le temps de tenter de vous aider !

  8. #8
    Membre régulier
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    104
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 104
    Points : 71
    Points
    71
    Par défaut
    un ptit exemple sera peut etre plus clair
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <input type="text" name="nom" id="nom" value="<?php echo  "$nom"; ?>" />
    	<input type="text" name="prenom" id="prenom" value="<?php echo  "$prenom"; ?>" />
     
    <script langage=javascript">
    desactiver() </script>
    2 champs input pour simplifier.
    juste après appel à la fonction qui désactive en faisant seulement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(formulaire.nom.value!="")
    		formulaire.nom.disabled='true';
    	if(formulaire.prenom.value!="")
    		formulaire.prenom.disabled='true';
    cette fonction ne marche pas en php et puis si ya moyen de faire avec readonly ça serait le top parce que ça m'évite de réactiver tout à l'envoi du form.
    j'espère que je suis assez clair mais j'en suis pas sur.
    en tout cas merci de votre patience

  9. #9
    Membre averti Avatar de Poulpynette
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 349
    Points : 391
    Points
    391
    Par défaut
    HiRoN et moi avons répondu entre temps je crois (cf. plus haut).
    HiRoN plus proprement que moi d'ailleurs
    Développeuse
    Merci d'expliquer aux autres la solution si vous la trouvez, par respect pour ceux qui prennent le temps de tenter de vous aider !

  10. #10
    Membre régulier
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    104
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 104
    Points : 71
    Points
    71
    Par défaut
    oups pardon j'ai été trop lent!
    j'avais pas compris la première fois et ça m'a l'air impeccable j'essaierai.
    merci beaucoup à vous deux

    petite autre question si cela est possible :
    à coté de chaque champ j'ai un lien qui doit permettre de modifier le champ d'a coté. En cliquant dessus le champ doit etre réactivé. Avant j'avais juste un onclick=this.disabled='false' mais la puisque c'est des readonly ça ne va plus marcher.

  11. #11
    Membre émérite Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Points : 2 589
    Points
    2 589
    Par défaut
    Citation Envoyé par frboyer Voir le message
    Petite autre question si cela est possible :
    A coté de chaque champ j'ai un lien qui doit permettre de modifier le champ d'a coté. En cliquant dessus le champ doit etre réactivé. Avant j'avais juste un onclick=this.disabled='false' mais la puisque c'est des readonly ça ne va plus marcher.
    As-tu tenté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('nom_Champ').readOnly=false;
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.readOnly = 'false';
    Citation Envoyé par Poulpynette Voir le message
    HiRoN plus proprement que moi d'ailleurs
    Disons que s'il a plusieurs champs à tester, autant faire une fonction

    Edit : La FAQ Javascript t'aurait donné ce lien

    @frboyer : Ton sujet touchant divers langages, tu n'es plus sur le bon forum pour traité cela. Si tu as des questions PHP ou Javascript, merci de les poser dans les forum appropriés
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  12. #12
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 747
    Points
    3 747
    Par défaut
    Bonjour,

    Je dirais plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var champ = document.getElementById('nom_Champ');
    champ.setAttribute('readonly', 'readonly');
    Je ne réponds pas aux questions techniques par MP.

  13. #13
    Membre émérite Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Points : 2 589
    Points
    2 589
    Par défaut
    Citation Envoyé par Macmillenium Voir le message
    Bonjour,
    Je dirais plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var champ = document.getElementById('nom_Champ');
    champ.setAttribute('readonly', 'readonly');
    J'avais hésité avec le setAttribute...
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  14. #14
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 747
    Points
    3 747
    Par défaut
    Citation Envoyé par HiRoN Voir le message
    J'avais hésité avec le setAttribute...
    Pas de risque ne t'inquiète pas
    Je ne réponds pas aux questions techniques par MP.

  15. #15
    Membre régulier
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    104
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 104
    Points : 71
    Points
    71
    Par défaut
    ok merci bien tout le monde ça marche bien avec readonly puis en cliquant sur le bouton modifier ça me met readonly à false.

    merci!

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

Discussions similaires

  1. Retour d'un envoi de formulaire avec un input file
    Par kawaï dans le forum jQuery
    Réponses: 1
    Dernier message: 17/04/2015, 14h04
  2. [1.x] envoi d'un fichier avec des paramètres dans un formulaire
    Par safa.nasich dans le forum Symfony
    Réponses: 2
    Dernier message: 15/07/2011, 11h17
  3. Réponses: 5
    Dernier message: 25/04/2006, 16h04
  4. Formulaire avec des Onglets
    Par Orin dans le forum Langage
    Réponses: 2
    Dernier message: 06/04/2006, 10h28
  5. Ouverture d'un formulaire avec des requêtes différentes
    Par Jérémy VAUTIER dans le forum Access
    Réponses: 3
    Dernier message: 02/03/2006, 07h31

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