Bonjour,
Je d�veloppe un site en php mais ce que je cherche � faire y trouve ses limites...
En effet, j'ai un �norme formulaire sur un backoffice qui doit permettre de rentrer des informations sur des produits ainsi que l'image associ�e � chaque produit.
Mon probl�me r�side dans le fait d'avoir un aper�u des images en temps r�el avant ou apr�s upload.
Avant l'upload: pas possible semblerait-il (du moins sous Firefox, dommage)
Apr�s upload, oui mais cela n�cessite un submit pour cause de s�curit� (re-dommage).
J'ai donc un �norme formulaire de donn�es ainsi que de plus petits pointant vers leur iframe respective de mani�re � pouvoir faire un submit sur chaque image � importer et pouvoir les voir directement sans pour autant devoir rafraichir la page g�n�rale, ce qui me permet de garder les donn�es d�j� entr�es dans le grand formulaire de donn�es.
Tout va bien sauf une chose: pas moyen d'�viter que les formulaires d'images ne se trouvent � l'int�rieur du grand formulaire or des formulaires imbriqu�s ne fonctionnent pas (c'est ce que j'ai v�rifi� et qui semble confirm� par une recherche google �tendue)...
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 <form 1> INPUT données <form a> INPUT image1 INPUT submit </form a> INPUT données <form b> INPUT image2 INPUT submit </form b> INPUT données INPUT submit des données uniquement </form 1>
Ma derni�re id�e a donc �t� de "partitionner" le grand formulaire en plus petits, de la sorte:
Cette solution est �l�gante mais php ne la permet pas et ne connaissant pas le javascript, j'ai trouv� un code qui permet de faire un submit pour envoyer diff�rents formulaires sp�cifiques:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <form 1>INPUT données</form 1> <form a> INPUT image1 INPUT submit </form a> <form 2>INPUT données</form 2> <form b> INPUT image2 INPUT submit </form b> <form 3>INPUT données</form 3> <form>INPUT submit (form1,form2, form3)</form>
Et pour finir:
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <SCRIPT LANGUAGE="JavaScript"> /* Collect all forms passed by array and post it */ function submitFormsById(arFormsSubmit) { var formCollector = document.createElement("form"); with(formCollector) { method = "post"; action = "http://www.monsite.com/traitement_des_donnees.php"; name = "formCollector"; id = "formCollector"; style.display = "none"; } for(var ix = 0; ix<arFormsSubmit.length;ix++) appendFormVals2Form(document.getElementById(arFormsSubmit[ix]), formCollector); document.body.appendChild(formCollector); formCollector.submit(); } /* Function: add all elements from ``frmCollectFrom´´ and append them to ``frmCollector´´ before returning ``frmCollector´´*/ function appendFormVals2Form(frmCollectFrom, frmCollector) { var frm = frmCollectFrom.elements; for(var ix = 0 ; ix < frm.length ; ix++) frmCollector.appendChild(frm[ix]); return frmCollector; } </SCRIPT>
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 <INPUT TYPE="submit" value="submit" name="nom" onClick="submitFormsById(Array('form1','form2','form3'))">
C'est parfait mais pour une raison que j'ignore, ce script ne renvoie en post qu'une valeur sur deux. En effet, quand je r�cup�re par exemple 10 champs input, toutes forms confondues, je n'ai que 5 valeurs exploitables et les autres restent d�sesp�r�ment vides.
Ce n'est pas une erreur de ma part puisque si j'ai par exemple deux champs qui ses suivent "poids" et "prix", j'aurai le r�sultat du poids mais pas du prix MAIS si j'intervertis pour "prix" et "poids", j'aurai le r�sultat du prix mais pas du poids cette fois-ci...
Pourtant tous les formulaires de donn�es sont bien trait�s car j'ai bien le r�sultat des tous...juste que c'est incomplet.
Avez-vous une id�e de la r�solution de mon cas?
Ou peut-�tre une autre piste plus simple (mais qui fonctionne)?
Merci!
Partager