Oui, je formule différemment une question déjà posée pas loin dans le forum mais le titre du sujet ne correspondait pas vraiment au problème. Il s'agissait en fait de MODIFIER dynamiquement un formulaire déjà existant. Et c'est ce que je retrouve un peu partout sur le net depuis ce matin...
Mon problème est la CREATION de A à Z d'un formulaire et de sa soumission.
Pour quelle raison ?
Je souhaite lancer un CGI sans passer par un bouton ET en post pour que les arguments ne passent pas dans l'url.
Je suis en Perl et je peux utiliser le CGI::redirect mais il ne fonctionne qu'en GET donc on voit passer les arguments dans l'url...
J'ai donc choisi de créer un formulaire dans un cgi qui est lancé depuis une autre page, ce formulaire étant soumis automatiquement.
J'ai donc écris ce code :
Le premier alert me permet de vérifier que le code se lance bien : OK !
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 <script language=javascript> alert("hello") ; var formulaire = document.createElement('form'); formulaire.setAttribute('action','../test.pl') ; formulaire.setAttribute('method','post') ; var fileElem = document.createElement('input'); fileElem.setAttribute('type','hidden'); fileElem.setAttribute('name','file'); fileElem.setAttribute('value','nom_fichier'); formulaire.appendChild(fileElem) ; formulaire.submit() ; alert(formulaire.childNodes[0].value) ; </script>
Lors du "formulaire.submit()", la soumission ne se fait pas et j'ai le deuxieme alert qui me sort correctement 'nom_fichier'.
De même j'ai pu vérifier que le cgi qui devrait se lancer (test.pl) était la bonne url : le alert me donnait qqchose du genre : http://monserver.fr/test.pl
Donc je ne comprends pas pourquoi le submit ne se fait pas.
Je n'ai aucun message d'erreur dans ma console javascript.
J'ai essayé :
mais j'obtiens une erreur : "Erreur*: document.formulaire is undefined" dans la console javascript. Pourtant la variable formulaire existe bien puisque mon dernier alert fonctionne bien !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 document.formulaire.submit()
J'ai également essayé un :
pour "lier" le formulaire au document (bien que cela paraisse inutile) et j'ai une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.appendChild(formulaire) ;
Merci de votre aide !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Erreur*: uncaught exception: [Exception... "Node cannot be inserted at the specified point in the hierarchy" code: "3" nsresult: "0x80530003 (NS_ERROR_DOM_HIERARCHY_REQUEST_ERR)" location: "http://monserver.fr/launch.pl?file=test_file Line: 12"]
Partager