Salam ; j'ai un tableau d'affichage de donnée , au dessus j'ai un bouton ajouter.
je cherche comment faire pour affiché une fenêtre contenant un formulaire de saisie personnalisé sans utilisé du javascript.
merci pour vos orientations
Salam ; j'ai un tableau d'affichage de donnée , au dessus j'ai un bouton ajouter.
je cherche comment faire pour affiché une fenêtre contenant un formulaire de saisie personnalisé sans utilisé du javascript.
merci pour vos orientations
Je suis pas sûr d'avoir bien compris mais moi je ferais :
- Un formulaire dont l'action renvoi sur la même page
- En haut de cette page je fais le traitement du formulaire (enregistrement des données $_POST en base de données etc...)
- Puis le select sur la base de donnée et la fabrication du "nouveau" tableau avec les résultats du select.
- Puis l'affichage de ce tableau en html
Sinon quand tu dis que le formulaire doit être dans une autre fenêtre tu veux dire en fait sur une autre page, dans un autre onglet par exemple ?
Re ; merci voila je m'explique:
- ma page principale affiche une liste d'enregistrement sous forme de tableau.
- au dessus y'a un bouton "ajouter" , afin que l'utilisateur ajoute d'autre enregistrement.
- une fois que l'utilisateur clique sur le bouton 'ajouter" , il doit voir apparaitre une fenêtre contenant un formulaire de saisie. ( en utilisant du php)
exemple: (en javascript...)
la fenêtre qui s'affiche lors du téléchargement de wampserver proposant un formulaire.
http://www.wampserver.com/
ok je vois, tu veux mettre un formulaire dans un pop-up. Dans ce cas le mieux c'est de créer une page à part qui contiendra ton formulaire et de l'ouvrir avec dans un pop-up avec un lien de cette forme :
ah oui par contre il y a un peu de js
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href="formulaire.html" onclick="window.open(this.href, '_blank'); return false;">Ajouter</a>
Sinon tu fais ouvrir la page de ton formulaire dans un autre onglet tout simplement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href="formulaire.html" TARGET="_blank">Ajouter</a>
Il ne veut pas utiliser de javascript.
Et si j'peux me permettre redoran : pourquoi bannir le javascript ?
Car dans ton cas, c'est la solution la plus simple et la plus efficace !
Re ;
là vous utilisé une api ou c'est du javascript !!!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href="formulaire.html" onclick="window.open(this.href, '_blank'); return false;">Ajouter</a>
j'ai rien contre le javascript mais :t si j'peux me permettre redoran : pourquoi bannir le javascript ?
01 utilisateur sur 10 disactive le javascript.
j'ai vue la méthode de torturé les applications en monoposte (audit des applications en monoposte).
je veux détourné ces contraintes.
Oui c'est du js désolé (j'ai corrigé 1 minute après !). Tu peux peut-être l'ouvrir dans un autre onglet.
merci philo mais:
je crois que sur le plan IHM ce n'est pas faisableSinon tu fais ouvrir la page de ton formulaire dans un autre onglet tout simplement :
Code :
Sélectionner tout - Visualiser dans une fenêtre à part
<a href="formulaire.html" BLANK>Ajouter</a>
Dans ce cas personnellement je vois pas trop de solution.
Merci philo pur ton aide :
voila je vais continué la recherche sur google qui sait.
sinon dans le pire des cas :
je vérifier si le javascript est activé dans la machine client ( sinon l'activé) et là je sait pas si ces faisable et si j'ai le droit !!!!! pour autorisé le traitement. une idée
Pour info : dans la fenêtre de wanpserver que tu indique il y a du javascript.
Bonne chance.
Ben amuses-toi pour savoir en PHP si JavaScript est activé chez le client !je vérifier si le javascript est activé dans la machine client ( sinon l'activé) et là je sait pas si ces faisable
Et ensuite, non, tu ne peux en aucune façon l'activer ! Et encore heureux même !
Sinon, en quoi un target="_blank" ne te conviens pas ?
Dernière chose, une fois ouvert, ton formulaire, tu va en faire quoi ? Parce que ta fenêtre sera ouverte (pas moyen de la fermer sans JavaScript) et bien sûr, tu ne pourras pas échanger d'information avec la page qui l'a ouverte...
Bref, sois tu fais un formulaire "standard" sans JavaScript, sois tu utilises JavaScript, mais vouloir émuler JavaScript en PHP, tu vas te faire du mal !
Où-est ce que tu as lu cette information ?j'ai rien contre le javascript mais :
01 utilisateur sur 10 disactive le javascript.
En faisant une rapide recherche sur le Net et la proportion que j'ai toujours conservé en tête était de l'ordre de 1% - 2% qui désactiveraient JS.
C'est théoriquement (très) largement moins.
Puis comme cela a été dit, vérifier si JS est activé demandera de le faire en JS.
C'est un peu le serpent qui se mord la queue.
Dans des cas comme ça, il n'y a à mon pas d'autres choix que de faire un compromis.
En gros :
- Un comportement si JS est désactivé
- Un autre comportement si JS est activé (l'idéal : L'interface la plus fonctionnelle théoriquement)
C'est possible de le faire sans avoir à vérifier JS.
Ici, l'idéal serait d'exploiter un FrameWork comme jQuery (ou autre), et faire un code comme :
- Ici, si JS est activé le lien ne sera pas suivi dû au return false, donc seul le code JS avant ce return false sera exécuté (on donc peut tout faire).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 // Partie JS (dans le <head> $(document).ready(function () { $("#id_lien").click(function() { // Code exécuté au clic }); return false; }); // Partie HTML (dans le <body> <a id="id_lien" href="une_page.php">Un lien</a>
- Si JS est désactivé, alors le lien sera suivi, donc la page une_page.php sera affichée (le compromis).
Comme cela devrait concerner que 1% ou 2% des utilisateurs, ceci ne devrait pas être si pénalisant que cela.
Maintenant faut voir.
En tout cas c'est comme cela que je fais en général.
Au passage, les fenêtre de type popup elles sont en générales bloquées, c'est à dire que la proportion d'utilisateur qui bloquent les popups est très forte (ceci est aussi géré dans le navigateur, le codeur/développeur ne peu pas agir la dessus, tout comme l'activation/désactivation de JS).
Salam ;
Bovino:
les absent ont toujours tors , j'ai bien compris la leçon : le php est interprété au niveau du serveur ( doc php pour un grand débutant).Ben amuses-toi pour savoir en PHP si JavaScript est activé chez le client !
elle ouvre un autre onglet , donc sur le plan IHM elle casse la navigation.Sinon, en quoi un target="_blank" ne te conviens pas ?
l'objectif et de faire apparaitre une fenêtre enfant pour saisir les données.
bien sur pour saisir les données et une fois les données posté je rafraichi la page parent.Dernière chose, une fois ouvert, ton formulaire, tu va en faire quoi ? Parce que ta fenêtre sera ouverte (pas moyen de la fermer sans JavaScript) et bien sûr, tu ne pourras pas échanger d'information avec la page qui l'a ouverte...
ma page formulaire est préte seulement je cherché a l'afficher dans une fenêtre enfant.bref, sois tu fais un formulaire "standard" sans JavaScript,
RunCodePhp:
oui ta raison c'est la bonne repense. désolé pour l'erreur.l'ordre de 1% - 2% qui désactiveraient JS.
là j'ai rien pigé : en js je suis très très empty
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // Partie JS (dans le <head> $(document).ready(function () { $("#id_lien").click(function() { // Code exécuté au clic }); return false; }); // Partie HTML (dans le <body> <a id="id_lien" href="une_page.php">Un lien</a>
pour un premier contact avec un tutoriel js je suis arrivé a ça disant que je l'ai copié :
le code marche nickel.
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 <!-- returnValue and preventDefault() methods --> <script> function openPopup(e) { if(!e) var e = window.event; var url = this.href; window.open("../interfaces/enreg.inc.php", "enreg", "toolbar=no, location=no, directories=no, status=yes,scrollbars=no, resizable=no, copyhistory=no, width=600, height=600,left=400, top=150"); //e.cancelBubble is supported by IE - this will kill the bubbling process. e.cancelBubble = true; e.returnValue = false; //e.stopPropagation works only in Firefox. if (e.stopPropagation) { e.stopPropagation(); e.preventDefault(); } } window.onload = function() { document.getElementById("popup").onclick=openPopup; } </script> partie html <th colspan="2"><input type="submit" value="afficher" <a href="../interfaces/enreg.inc.php" id="popup"></a></th>
seulement j'ai pas pu l’intégré dans ta méthode qui m’intéresse bien.
C'est du jQuery, ce n'est pas du pure JS, mais l'avantage d'utiliser un Framework JS c'est de pouvoir faire quelque chose avec moins de code, sans compter que ces Framework feront les choses en tenant compte des différents navigateurs (compatibilité).là j'ai rien pigé : en js je suis très très empty
Cependant, il est vrai que pour "tirer partie" d'un jQuery (ou autre FW JS), il vaut mieux avoir une bonne base en JS.
Pour exemple, ton code en pure JS : window.onload = function() { ... }
L'équivalent en jQuery c'est : $(document).ready(function () { ... }
C'est à dire que le code JS (dans les accolades) seront exécutés uniquement une fois la page HTML chargée par le navigateur.
Ce que tu fais c'est une technique un peu ancienne ça se voit pratiquement plus.
Le gros inconvénient, c'est ce que j'évoquais, c'est que les fenêtre popup sont très majoritairement bloqués par les utilisateurs. C'est considéré comme des fenêtres publicitaires.
Puis récupérer des données coté serveur dans cette fenêtre popup revient à ce qui ce fait de nos jour : de l'Ajax
De nos jours, on fait cela assez différemment, ça repose sur 2 principes.
- De créer ce qu'on appel une fausse popup.
Le principe est simple : Au départ on ajoute dans la page un élément (genre une DIV) qui par défaut est caché/masqué (en CSS -> display: none).
Puis lors d'un clic sur un autre élément (une image, un bouton) on va rendre visible la DIV masquée par défaut, cela en JS (CSS -> display: bloc)
Cette DIV peut contenir tout ce qu'on veut, comme un formulaire ou une partie, etc, peu importe ...
- Ensuite, toujours lors du clic qui ouvre/affiche la DIV, on exploite (déclenche) un code Ajax qui va s'occuper à interroger notre serveur pour récupérer des données (dans une Bdd par exemple).
Une fois les données récupérées elles seront affichées (mises à jours) dans la DIV (le formulaire ou autre).
Les choses se déroulent tout le temps dans la même page principale (il n'y a pas fenêtre supplémentaire).
C'est juste pour décrire sommairement comment on peu faire certaines choses différemment.
C'est à toi de voir.
Tu ne peux pas l'intégrer, pour cela il faut d'abord intégrer le FrameWork jQuery.seulement j'ai pas pu l’intégré dans ta méthode qui m’intéresse bien.
Je ne comprend peut-être pas bien ton besoin (IHM) mais pourquoi tu ne fais pas tout simplement le lien 'ajouter' vers une page qui contient ton formulaire dont l'action renvoi sur la page où tu traite les données du formulaire et tu où affiche le tableau. Je ne vois pas en quoi ça nuirait à l'IHM : tableau.php 'ajouter' -> formulaire.php 'envoyer' -> tableau.php, ça ne casse pas la navigation.elle ouvre un autre onglet , donc sur le plan IHM elle casse la navigation.
l'objectif et de faire apparaitre une fenêtre enfant pour saisir les données.
Re; philo...
I H M : interface Homme Machine ,
habitude utilisateur ( page parent ==> page enfant).
donc je veux respecter ça.
enfin de compte je suis revenu au js.
ou tout simplement utilisé des div.
maintenant sont apparue d'autres dones ( framework ; jquery...)
encore plus de lecture ++++
et oui
Oui merci je sais. En fait je te disais que, à mon sens, ce que je te proposais ne posait pas de problème d'IHM puisque qu'a l'envoi du formulaire tu reviens "automatiquement" sur la "page parent" => ça ne casse pas la navigation.I H M : interface Homme Machine ,
Mais j'ai bien compris que toi tu voudrais en fait garder ta "page parent" tel quelle et ne pas devoir la recharger, dans ce cas là évidement => js.
Bon courage
Partager