t'as oublié le return
Où? Si tu pouvais être plus précis...
J'ai tenté un
Ça ne marche pas plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input type="submit" onClick="return open_form2()" />
Faut-il mettre un return aussi dans la function? Si oui, return true?
Merci
Ça ne marche pas
Code utilisé:
J'ai utilisé toutes les combinaisons entre return true dans la fonction et pas dans le onclick et inversement etc...
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 <script> function open_form2() { document.getElementById('form_upload').innerHTML = "<img src='loader.gif' alt='Load...' />"; return true; } </script> <br /><br /> <div id="form_upload"> <form enctype="multipart/form-data" action="plop6.php" method="post"> Transfère le fichier: <input type="file" name="monfichier" /> <input type="submit" onClick="return open_form2()" /> </form> </div>
t'efface le formulaire la avec le innderHTML, fait plutôt dans une autre div
T'as essayé avec :
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.getElementById('nom-de-ta-photo').src= "l'url de ton image";
Franchement là je vois plus du tout, j'ai essayé plusieurs moyens mais ça ne marche pas.
Dernier code à peu près:
Bon le probleme c'est que le loader s'affiche après l'upload (normal vu où il est placé).
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 <?php $affiche_loader = ""; if(isset($_FILES['monfichier'])) { $affiche_loader = "onload='affiche_loader();'"; ?> <script language="javascript"> function affiche_loader() { document.getElementById('div2').innerHTML = "<img src='loader.gif' alt='Load...' />"; } </script> <?php } else { echo 'not ok'; } ?> <body <?php echo $affiche_loader; ?>> <br /><br /> <center> <div id="div2"> <form enctype="multipart/form-data" action="" method="post" name="formulaire"> Transfère le fichier <input type="file" name="monfichier" /> <input type="submit" value="Envoyer" /> </form> </div> </center> </body> </html>
Une solution? Merci d'éviter des réponses de 2 mots, je mets 2h pour comprendre ce que vous voulez dire
Dois-je reposter plutôt dans la catégorie js?
la c'est pareil quand tu fait un innerHTML ca remplace tout le contenu de la div, donc la tu vas supprimer ton <form>, de plus tu charge la fonction qu'un fois que t'as envoyer le fichier ca na pas de sens, pourquoi tu fait pas la même chose que sur le lien que j'ai envoyé au lieu de bidouiller ...
Je ne comprends pas pour le lien, en plus il y a un timeout donc je pourrais pas adapter la fin du loader à la fin de mon upload.
Visiblement ce code marche à moitié:
Comment réussir à cacher le formulaire lors de l'appui sur submit?
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<html> <p style="visibility:hidden;" id="progress"/><img id="progress_image" style="padding-left:5px;padding-top:5px;" src="loader.gif" alt=""> Uploading in progress?<p> <script> function loadSubmit() { ProgressImage = document.getElementById("progress_image"); document.getElementById("progress").style.visibility = "visible"; setTimeout("ProgressImage.src = ProgressImage.src",100); return true; } </script> <form enctype="multipart/form-data" action="#" method="post"> Transfère le fichier <input type="file" name="monfichier" /> <input type="submit" onclick="return loadSubmit()" /> </form></html> <?php .... traitement php ?>
Ça sera le dernier point à résoudre, je pense.
Merci.
tu mets un id a ton <form>
dans la fonction javascript tu fait pareil que l'autre
ensuite il faut que tu valides tas page html si tu veux que marche partout
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.getElementById("idduform").style.visibility = "hidden";
http://validator.w3.org/
J'ai un petit soucis avec les normes w3c mais ce n'est pas très grave, je pense.
Maintenant, j'aimerais que le bouton parcourir ne marche qu'en js, donc si le js est désactivé, l'upload ne peut pas commencer.
Pour l'instant si le js est désactivé, l'upload se lance mais le formulaire avec le chemin du fichier reste affiché ce qui est un peu gênant. Donc avec le bouton en js, on ne pourrait pas lancer l'upload ce qui réglerait le probleme.
Est-ce possible de le faire? Et va t-il falloir faire de grosses modifs au script?
Dans un deuxième temps j'aimerais peser le poids et connaitre l'extension du fichier uploadé avant la fin de l'upload car avant php, on doit attendre la fin de l'upload. Pareil, est-il possible de le faire? Et va t-il falloir faire de grosses modifs au script?
Merci
hmmm tout ce que tu fais me parait super complexe... mais bon, voila un exemple qui peut t'inspirer pour ton code...
Et ne nous ressort pas que tu connais pas le javascript la c'est super "bateau"...
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 <script type="text/javascript"> <!-- document.write("<p>Vous avez activé javascript, c'est parfait !</p>"); // --> </script> <noscript> <p>Javascript est désactivé. Si vous avez la possibilité de l'activer, faites-le, vous y gagnerez en confort d'utilisation du site.</p> </noscript>
Salut,
Vous avez essayez avec uploadprogess ?
Le bouton parcourir est dépendant du champ input file...
Au lieu de mettre le champ tel quel, une variante du code que j'ai envoyé et en faisant apparaitre ce input uniquement si le javascript est activé... et sinon un message qui demande de l'activer...
En gros à la place de bloquer la possibilité d'uploader comme je voudrais faire, tu me conseilles de carrément retirer le formulaire entier
Une idée pour le poids et l'extension du fichier uploadé? Ou c'est mieux que j'aille demandé ça dans la partie js?
Tu mets ton input file avec ce javascript
et tu gère le bouton valider avec...
Et en code alternatif tu mets un message qui dis d'activer le javascript... du moins moi je ferai comme ca...
Pour le poids, le tuto le plus basique sur l'upload php dans la section "cours" explique tout ca...
ps: c'est pas méchant et non pas que ca me dérange... mais tu cherches un minimum tes besoins ou tu demande tout en masse ici en esperant que d'autres cherchent pour toi? c'est le genre d'attitude très mal vu sur un forum d'entraide...
car la ca vire à "l'assistance"
J'avais bien compris, mais ça ne répond pas à mon probleme. Je voudrais que le formulaire entier soit là mais que si on appuie sur parcourir, rien ne se passe si le js est désactivé.
Ou au pire sur envoyer mais le client croira que l'upload ne marche pas
Bien évidemment, je sais comment faire ça en php, je demande comment peser en js AVANT la fin de l'upload ce que php ne peut pas faire par définition.
Je cherche comme tout le monde, après il y a des gens mieux informés que d'autres. J'ai pas mal galéré pour faire mon script d'upload, tous ceux des tutos sont globalement pour les images donc adapter ça sur des vidéos...
Bref, on m'aide, on m'aide pas franchement ce n'est pas ça qui ne va pas me faire dormir la nuit
Ça vire à "l'assistance" tout simplement parce-qu'on me répond à coté de la plaque donc évidemment on tourne en rond.
Comme je le dis, le js n'est pas ma tasse de thé et franchement je n'ai pas le temps de suivre tous les tutos du monde et perdre 6 mois vu la taille de mon projet. On me donne une solution, une piste pourquoi pas, on me donne les 3 lignes (parce que je pense que ça se fait en 3 lignes, je n'ai juste pas la culture js pour savoir comment faire), ça serait encore mieux.
Sinon tant pis, que veux-tu que je te dise?
Partager