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 :

Remplacer une balise <INPUT> par une balise <BUTTON> ou <a href>


Sujet :

HTML

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 11
    Points : 8
    Points
    8
    Par défaut Remplacer une balise <INPUT> par une balise <BUTTON> ou <a href>
    Bonjour,

    je suis en train d'essayer de relooker une ancienne application php et je souhaiterais remplacer dans un formulaire le vieux bouton <INPUT> par un bouton <BUTTON> voire un lien <A HREF=...>.

    Pour faire simple, j'ai actuellement ceci qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <FORM NAME="form_11" ACTION="index.php" METHOD="POST">
       <INPUT TYPE=HIDDEN NAME="idRub" VALUE="5">
    ...
       <INPUT TYPE="submit" NAME="11_valider" VALUE="Valider" >
    </FORM>
    J'ai essayé sans succès de le remplacer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <button type="submit" class="bouton" NAME="11_valider" title="Créer">Créer</button>
    ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:document.form_11.submit();">Créer</a>
    cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" class="bouton" title="Créer" onclick="javascript:document.form_11.submit();">Créer</a>
    A chaque fois, j'ai l'impression que le clic sur le bouton me renvoie bien sur mon fichier index.php, mais sans tenir compte du POST.
    Je dois passer à côté d'un truc simple, mais vu qu'il ne me reste plus beaucoup de cheveux, je vous soumets mon problème!

    Merci d'avance!

    R.

    Dernière précision, l'application est lancé sur IE6 ou 8.
    "Hou hou hou" fait le Hibou...

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 112
    Points
    44 112
    Par défaut
    Bonsoir,
    (...)remplacer dans un formulaire le vieux bouton <INPUT>(...)
    il est usé à ce point?
    Quelle drôle d'idée, si ton INPUT soumet le formulaire celui ci doit être un INPUT type submit point.

    Le "dépoussiérage" peut venir du CSS.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    Bonsoir,
    Quelle drôle d'idée, si ton INPUT soumet le formulaire celui ci doit être un INPUT type submit point.

    Le "dépoussiérage" peut venir du CSS.
    Il me semblait que IE6 ne savait pas gérer les "attribute selectors".
    Je me trompe?
    "Hou hou hou" fait le Hibou...

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    La nuit porte conseil : IE6 ne sait en effet pas gérer l'écriture input[type=submit] {...}, mais je dois pouvoir faire quelque chose en utilisant input.classe_boutton {...} dans un css.
    Par contre, je peux m'assoir sur mes images dans mes boutons...

    Sinon, pour faire avancer le schmilblick, quelqu'un peut m'expliquer pourquoi mon code ne marche pas?
    "Hou hou hou" fait le Hibou...

  5. #5
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    bon, si tu veux remplacer pour avoir un graphique différent tu peux tout simplement utiliser le <input type='image' /> cela remplace le submit.

    la raison pour laquelle ton code ne marche pas et du au fait qu'un lien pointe vers une page directement alors qu'un formulaire transmet les données qu'il contient. donc en gros tu va d'une page a l'autre sans tenir compte des informations du formulaire d'où le plantage.

    après si tu tiens à utiliser absolument le type bouton alors il te faudra gérer en javascript un onclick qui appelera une fonction effectuant un form.submit de ton formulaire.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  6. #6
    Invité
    Invité(e)
    Par défaut
    In n'y a pas de raison pour que ça ne fonctionne pas
    En écrivant proprement (noms des balises et attributs en minuscule) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form name="form_11" action="index.php" method="post">
       <input type="hidden" name="idRub" value="5">
    ...
       <button type="submit" class="bouton" name="11_valider" title="Créer">Créer</button>
    </form>
    1/ <button>...</button> doit être avant la balise </form>
    2/ vérifier aussi qu'au retour du formulaire, tu n'as pas mis :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(isset($_POST['11_valider']) && $_POST['11_valider']=="Valider"){
    // traitement...
    (puisqu'il n'y a plus de value="Valider" sur le button !)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(isset($_POST['11_valider'])){
    // traitement...

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 112
    Points
    44 112
    Par défaut
    Par défaut un BUTTON dans une FORM est de type SUBMIT, ce qui parfois pose problème justement

  8. #8
    Invité
    Invité(e)
    Par défaut
    Le but est bien de soumettre le formulaire, non ? Donc no problemo.

    A moins que ça vienne d'IE6 ou IE8, qui interprètent mal ?
    Ou manque de doctype ?

    Pour ma part, je n'ai jamais eu de souci. J'ai des <button type="submit" ...> dans tous mes formulaires.

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 112
    Points
    44 112
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Le but est bien de soumettre le formulaire, non ? Donc no problemo.
    sans aucun doute, le "ce qui parfois pose problème justement" est lié au fait qu'en absence de type certains ne comprennent pas pourquoi le formulaire est soumis, ce n'était qu'un rappel.

  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 : 53
    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
    IE6 ne sait en effet pas gérer l'écriture input[type=submit] {...}
    Pour paraphraser Staline : "IE6, c'est combien de divisions part de marché ?"
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    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 : 53
    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
    Notons aussi qu'avec HTML5, un input n'a pas besoin d'être dans une balise <form>. Le nouvel attribut form permet d'indiquer à quel(s) formulaire(s) il est relié.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/11/2014, 16h44
  2. Réponses: 7
    Dernier message: 16/05/2007, 13h26
  3. Comment remplacer le nom d'un controle par une chaine ?
    Par roico dans le forum VBA Access
    Réponses: 2
    Dernier message: 13/04/2007, 11h49
  4. Réponses: 5
    Dernier message: 14/12/2006, 16h50
  5. [C#] Remplacer les boutons d'un DataGrid par une image
    Par PascalL dans le forum Windows Forms
    Réponses: 17
    Dernier message: 04/04/2005, 16h07

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