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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 11
    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.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    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
    Membre averti
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 11
    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?

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 11
    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?

  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 : 44
    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
    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...

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