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 :

Concurrence entre l'attribut 'action' d'un formulaire et un champ cache du meme nom


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de messier79
    Homme Profil pro
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Points : 70
    Points
    70
    Par défaut Concurrence entre l'attribut 'action' d'un formulaire et un champ cache du meme nom
    Bonjour

    Je crois que le titre du topic resume assez bien.
    J'ai un formulaire du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form name="form" id="form" method="POST" action="./index.php">
            ...
    	<input type="hidden" id="action" name="action" value="save" />
            ...
    </form>
    Je voudrais pouvoir le soumettre de diferentes facons en changeant l'attribut 'action'. J'ai essaye d'utiliser une fonction comme celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	function formSubmit() {
    		$('form').setAttribute('action', '/unAutrePath/index.php');
    		$('form').setAttribute('target', '_blank');
    		$('form').submit();
    	}
    Ca fonctionne sous Fx, mais IE7 confond l'attribut 'action' et le champs cache du meme nom...

    Petite precision, je ne peux pas changer le nom du champ cache facilement (bien que j'aurais preferer faire ca).

    Quelqu'un a-t-il une idee ?
    Merci
    Mon ordinateur ne fait jamais ce que je veux. Il ne fait que ce que je lui demande.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Points : 550
    Points
    550
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms["form"].action = "/unAutrePath/index.php"

  3. #3
    Membre régulier Avatar de messier79
    Homme Profil pro
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Points : 70
    Points
    70
    Par défaut
    Desole, ca ne change rien
    Mon ordinateur ne fait jamais ce que je veux. Il ne fait que ce que je lui demande.

  4. #4
    Membre régulier Avatar de messier79
    Homme Profil pro
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Points : 70
    Points
    70
    Par défaut
    Bon, j'ai trouve une solution. Il faut supprimer le champ cache 'action' du code HTML et le creer uniquement dans la fonction qui en a besoins :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	$('form').setAttribute('action', './index.php');
     
    	var input = document.createElement('input');
    	input.setAttribute('name','action');
    	input.setAttribute('type','hidden');
    	input.setAttribute('value','save');
    	$('form').appendChild(input);
    Il faut que je reteste un peu, mais ca semble marcher.
    Mon ordinateur ne fait jamais ce que je veux. Il ne fait que ce que je lui demande.

  5. #5
    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 638
    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 638
    Points : 66 667
    Points
    66 667
    Billets dans le blog
    1
    Par défaut
    sinon beaucoup plus rationnel : ne mets pas le même nom

    en règle générale ne jamais utiliser des names pouvnat entrainer conflit !

    ou modifier la casse

    Action aCtion acTion ....
    ou encore l'orthographe
    Axion, _axion ....

    Les possibilités ne manquent pas !!!!
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. attribut action dans un formulaire
    Par philippe6 dans le forum Langage
    Réponses: 31
    Dernier message: 11/08/2012, 02h15
  2. [W3C] Ajout des paramètres dans l'attribut action d'un formulaire
    Par anaranjado dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 15/04/2010, 13h24
  3. nombre de valeurs de l'attribut action d'un formulaire
    Par alexnet dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/11/2007, 22h26
  4. formulaire sans attribut 'action' et javascript
    Par cyanure93 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 16/04/2007, 11h18
  5. Récupérer l'attribut action d'un formulaire
    Par boubouh dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 04/02/2006, 15h19

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