Forum TourDeJeu · Règles du forum | Aide Recherche Membres |
Bienvenue invité ( Connexion | Inscription ) | Recevoir à nouveau l'email de validation |
hypto |
Ecrit le : Samedi 28 Mai 2005 à 17h17
|
Kid Groupe : Membre Messages : 20 |
Existe il un moyen de se créer ses propres champs de saisie sans passer par des input ou textarea?
|
zumba |
Ecrit le : Samedi 28 Mai 2005 à 17h55
|
Ouf Groupe : Membre Messages : 496 |
holé.
pas vraiment, du moins en html tu es limité aux inputs qu'on te donne. (apres tu peux les faire en flash mais courage). mais tu as la possibilité de pas mal les modifier au niveazu visuel grace aux styles css. Tu peux aussi génerer des champs de saisie améliorés en écrivant une fonction php qui génère un champ de saisie évolué et le code JS associé. Par exemple, moi j'ai fait un petit plus moins de la form [ - [valeur] +] sur ce modèle. -------------------- Z
|
Guest_hypto |
Ecrit le : Samedi 28 Mai 2005 à 20h10
|
Unregistered |
Oui je me doute que ça ne peut pas se faire qu'avec du html, sinon je n'aurai pas posé la question.
Je sais aussi aussi que les feuilles de style permettent de personnaliser les éléments, mais ce n'est pas suffisant. Primo les éléments input et textarea ont forcément une couleur de fond, et sont forcément rectangulaire, or je souhaite quelquechose de transparent et de forme libre. Deuxio un textarea ne permet pas de limiter le nombre de caractères (à part en appellant une fonction de vérification sur l'événement onchange et de mettre à jour le champ après coup, ce qui ne me convient pas), le input le permet mais est limité à une seule ligne. >>Par exemple, moi j'ai fait un petit plus moins de la form [ - [valeur] +] sur ce modèle. J'utilise aussi quelquechose du style. En javascript j'ai bien une solution un peu bourine de surveiller les événements onclic et onkeypress sur un div et de mettre à jour son contenu, mais je me disais que peut être il existait un moyen plus simple que je ne connaissais pas encore. Flash je n'en n'utilise pas. |
|
naholyr |
Ecrit le : Samedi 28 Mai 2005 à 20h47
|
Ouf Groupe : Membre Messages : 423 |
Il est vrai qu'un input type=text multiligne manque un peu (ou un attribut maxlength au textarea).
Par contre pour la forme libre je ne comprends pas bien, quelle forme veux-tu donner à un champ texte ? Qu'on écrive dans un cercle ? Je ne vois pas vraiment d'utilité a priori et un background peut très bien donner l'impression de forme libre (on vire le background du input, on vire son border, on le met dans un div ou on le positionne comme on veut, et on met le background souhaité au div en question). |
hypto |
Ecrit le : Mardi 31 Mai 2005 à 21h32
|
||
Kid Groupe : Membre Messages : 20 |
Enlever la bordure ok, mais quelle propriété pour enlever le fond? |
||
Nonothehobbit |
Ecrit le : Mardi 31 Mai 2005 à 22h05
|
Alien Groupe : Moderateurs Messages : 1298 |
Fond = background
Aucun = none D'où "aucun fond" = "background:none" -------------------- |
naholyr |
Ecrit le : Mardi 31 Mai 2005 à 23h49
|
Ouf Groupe : Membre Messages : 423 |
J'ai fait quelques essais du coup, on se marre bien quand on essaie dans différents navigateurs. Apparemment il ne vaut mieux pas essayer de toucher au textarea...
Le test : http://naholyr.free.fr/css/textarea/test.html Déjà première observation, si je veux que mon code valide, je dois mettre un doctype. Vous pourrez essayer si vous voulez, du moment où on colle le doctype c'est mort, on ne peut plus changer la taille du textarea via les css... C'est assez amusant à tester. Les résultats (sans le doctype, puisque c'est encore ce qui marche le mieux): Opéra 8 IE 6 Firefox (le résultat que j'attendais) Grumble on ne peut mettre que 2 images http://naholyr.free.fr/css/textarea/Firefox.jpg Bref |
gorgu |
Ecrit le : Mercredi 01 Juin 2005 à 00h54
|
Ouf Groupe : Membre Messages : 417 |
hum. l'objectif est de limiter le nombre de caractéres?
pouquoi ne pas valider cela aprés soumission par un script php? si il y a trop de caractére, tu lui demande de recommencer. http://fr3.php.net/manual/fr/function.strlen.php -------------------- |
Nonothehobbit |
Ecrit le : Mercredi 01 Juin 2005 à 09h32
|
||
Alien Groupe : Moderateurs Messages : 1298 |
Déjà, mettre un doctype c'est obligatoire maintenant, on n'a plus d'excuses. Ensuite, tu dis qu'avec un doctype c'est impossible de changer la taille du textarea ??? Je serais curieux de savoir quel doctype et avec quel navigateur tu as essayé. Pour infos, la taille d'un textarea dois se spécifier avec les attribut width et height et non plus rows et cols (du moins pour la norme xhtml il me semble). Pour opera, ça doit être un problème de padding. Pour la scrollbar il faut mettre un attribut "overflow:auto ou hide". Ca marche très bien. -------------------- |
||
Guest_hypto |
Ecrit le : Mercredi 01 Juin 2005 à 21h13
|
||||||
Unregistered |
honte sur moi, je n'y ai même pas pensé.
Nop je travaille de façon à effectuer le minimum de requètes possibles sur le serveur. Mais je me suis résolu à le faire en javascript avant d'envoyer le texte au serveur. Je ne suis plus à 2, 3 lignes près.
J'aurai au moins un truc qui respectera la norme xhtml. ^^ Concernant les navigateurs compatibles, de toute de façon je suis limité par autre chose vu que j'utilise l'xmlhttprequest (exit opera) et la transparence alpha des png, les hacks png pour ie ne foncionnant pas correctement dès que l'on dépasse un certain nombre d'image, exit ie également. Pendant que j'y suis, comment on peut empêcher de sélectionner les parties de texte d'une page. Je parle du principe pas d'un script tout fait. |
||||||
|
Guest |
Ecrit le : Jeudi 02 Juin 2005 à 00h57
|
Unregistered |
Il suffit d'interdire le clic gauche
|
|
Nonothehobbit |
Ecrit le : Jeudi 02 Juin 2005 à 10h23
|
Alien Groupe : Moderateurs Messages : 1298 |
Impossible. Dans le pire des cas, j'ouvre la source et je copie ce que je veux.
Au plus simple je prend un copie d'écran. Ca sert à rien d'essaye d'empêcher les gens de copier du texte ou des images, c'est du temps perdu pour rien et ça énerve plus qu'autre chose, futilités. -------------------- |
[VYS] |
Ecrit le : Jeudi 02 Juin 2005 à 17h00
|
Ouf Groupe : Membre Messages : 317 |
Pourquoi ne pas mettre ton textarea dans un tableau qui lui imposerait sa taille. Les "bordures" travaillées seraient sont alors positionnées extérieurement au tableau.
Autre solution, pour bénéficier de WYSIWYG : essaye avec une Iframe et designMode = "On", à ce moment la css de l'iframe est celle d'une page traditionnelle, pas d'un text area. (Ne marche que pour Mozilla et IE) -------------------- |
hypto |
Ecrit le : Jeudi 02 Juin 2005 à 21h27
|
||||
Kid Groupe : Membre Messages : 20 |
Je ne veux pas empêcher de copier le texte, d'ailleurs je sais que la chose est impossible, c'est que je ne veux pas qu'il soit sélectionné dans un soucis d'esthétisme. Enfin bon je chipote.
ça ne change rien, ton nombre de caractères ne sera pas limité pour autant. Et je n'utilise ni tableau, ni iframe. |
||||
[VYS] |
Ecrit le : Vendredi 03 Juin 2005 à 10h05
|
||
Ouf Groupe : Membre Messages : 317 |
Bon, ce n'est pas parceque tu n'en utilises pas que tu ne dois pas en utiliser. Serais-tu intégriste au point de te dire que "le css permet de tout faire alors je n'utilise rien d'autre" ? Tu l'as vu toi même, l'interprétation des css est différente d'un navigateur à l'autre alors, si tu veux te casser la tête à faire qqchose d'entièrement compatible, libre à toi mais moi je te propose une solution qui marche avec des balise html et qui doit résoudre ton problème de positionnement (les captures d'écran que tu as montré mettaient en évidence ce problème et pas celui du nb de caractères). Un navigateur est un interpréteur de code html et donc,... il interprete. Pour ce qui est de limiter le nb de caractères d'un text area, tu ne peux le faire qu'en JS ou en validation au niveau du serveur. Le client fait ce qu'il veut donc, tu peux certainement l'empêcher de taper un text trop long dans un imput ou un textarea (moins facile dans le deuxième cas) mais il sera toujours possible pour le client de t'envoyer les informations qu'il désire, avec la taille qu'il désire. Il est est toujours nécessaire de faire une validation serveur, et ne JAMAIS (jamais !!) faire confiance au client seul. De manière plus générale, tu peux continuer à chercher la page parfaite en t'enfermant dans tes principes mais, je t'en prie, ne demande pas de l'aide si, à chaque suggestion, tu le prends sur ce ton très collet monté. A bon entendeur, -------------------- |
||
Nonothehobbit |
Ecrit le : Vendredi 03 Juin 2005 à 13h19
|
Alien Groupe : Moderateurs Messages : 1298 |
Mouais, je ne pense pas que ce soit la bonne marche à suivre d'esquiver css par des "trick" html.
Si le css a été posé comme norme (depuis plus de 5 ans !), pourquoi s'encombrer d'un code lourd et peu pratique ? Ce problème est résolvable avec css1, interprété par tous les navigateurs actuel (allez pas me ressortir ns4 ). As-tu esayé d'ajouter les attributs cité pour corriger les problèmes sous les autres navigateur ? Et si vraiment ça passe pas avec un navigateur utilisé par 0,001% du web, qui ne respecte pas les normes. Ben on va pas non plus remplacer ça par un code sale pour satisfaire un hypothétique visiteur utilisant ce "truc". -------------------- |
Guest_hypto |
Ecrit le : Vendredi 03 Juin 2005 à 15h45
|
||||
Unregistered |
Mais c'est bien ce que je fais.
nop je n'en suis pas l'auteur Il ne faut pas s'enflammer comme ça VYS. Tu t'adresse à qui nonothehobbit car je ne comprend pas bien ton post si j'en suis la cible. Je n'ai parlé nul part d'esquiver le css. Pour rappel, au départ je voulais customiser un champ de saisie afin de limiter le nombre de caractères et que celui-ci soit transparent, mais je n'ai jamais imposé de restriction concernant ses dimensions. Tu m'as indiqué nonoth la propriété pour rendre mon champ transparent et quelqu'un d'autre les deux seuls recours pour limiter (en aval) le nombre de caractères, j'en ai choisis un. Mon problème est résolu, merci à vous. |
||||
|