IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

[Web]Pourquoi le formulaire ne peut plus être validé si le JavaScript est désactivé ?


Sujet :

Dotnet

  1. #1
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2004
    Messages : 13
    Points : 14
    Points
    14
    Par défaut [Web]Pourquoi le formulaire ne peut plus être validé si le JavaScript est désactivé ?
    Bonjour,

    Un simple formulaire réalisé avec aspnet ne peut plus être validé quand le javascript est désactivé.

    Est-ce un bug ? Autrement, existe-il une solution à ce "bug" ?

    Merci à vous

  2. #2
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    La validation du formulaire passe par des fonctions JavaScript (fonction __DoPostBack)
    Donc pas de javascript, pas de validation de formulaire. Peut-être en mettant ton formulaire en methode GET, mais la tu perd tous les avantages de ASP.Net

  3. #3
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    Aucune bonne solution...
    Ah si :

    Dans une balise <noscript> tu mets un boutton avec True en UseSubmitBehavior qui permet d'envoyer les données au serveur...

    Mais la c'est le client qui décide... et plus question d'utiliser les events des controles... Seul le onclick de ce boutton reste efficace...

    Impossible donc d'utiliser l'ASP .Net dans ces conditions, mis-à part quelques rare fonctions...

    Le mieux que tu aies à faire c'est de mettre ceci dans le HEAD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <noscript>
    <meta http-equiv="refresh" content="0;URL=http://www.votre-domaine.com/NoJS/">
    </noscript>
    Ensuite tu prévois une partie de ton site ou tu n'utilise que des bouttons (UseSubmitBehavior=True)
    Tu peux aussi, par exemple, dans cette partie, préciser qu'il faut permettre le JavaScript pour utiliser ton site...
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  4. #4
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2004
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    Merci pour vos réponses éclairantes.

    Cette contrainte d'aspnet est relativement gênante dans le cadre d'un site de vente en ligne.

    Je trouve étrange que les concepteurs n'aient point pensé à proposer un fonctionnement de secours alternatif, comme c'est le cas avec Ajax qui laisse la possibilité de gérer l'absence de javascript.

  5. #5
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    Citation Envoyé par librart
    Merci pour vos réponses éclairantes.

    Cette contrainte d'aspnet est relativement gênante dans le cadre d'un site de vente en ligne.

    Je trouve étrange que les concepteurs n'aient point pensé à proposer un fonctionnement de secours alternatif, comme c'est le cas avec Ajax qui laisse la possibilité de gérer l'absence de javascript.
    Euh... AJAX, ce n'est ni plus ni moins qu'une des possibilités... du javascript ! Sans JS, pas d'AJAX non plus
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 31
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par FremyCompany
    Euh... AJAX, ce n'est ni plus ni moins qu'une des possibilités... du javascript ! Sans JS, pas d'AJAX non plus
    Certes ^^
    Cela dit une fonctionnalité Ajax correctement implémentée reste utilisable sans Javascript. Comme librart, je trouve assez gênant qu'un site ASP.NET soit quasi-inutilisable sans Javascript - ce n'est pas très difficile de prévoir des mécanismes de fallback. Espérons que ce sera réglé dans .NET 3...

  7. #7
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    Reglé ???
    Mais ce n'est pas un bug !
    Sans js, comment veux-tu detecter les changements qui s'opèrent dans ta page ?
    Ce n'est pas un bug du tout... ASP .Net a été prévu pour fonctionner avec JS et si tu enlève à l'ASP .Net le JS, tu te retrouve avec du PHP !
    L'interaction des controles, l'auto callback "onchange", tout ca, ce n'est possible que grace à js...
    Tu n'auras jamais un site ASP .Net sans JS...
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 31
    Points : 29
    Points
    29
    Par défaut
    C'es vrai, sans JS on a plus d'AutoPostBack, ce qui diminue sensiblement les avantages d'ASP sur PHP.

    Mais ce sur quoi je râle un peu, c'est que le JS est utilisé même là où il n'y en a pas besoin : sur les HyperLinkField (ce sont des <a>, pourquoi mettre du JS ??), sur certains boutons (puisque ce sont des boutons, pas besoin de JS pour les soumettre), etc.

    Comme il reste toujours (hélas !) 10% des utilisateurs qui désactivent Javascript, je trouve dommage que des mécanismes de dégradation de l'application ne soient pas prévus, pour qu'elle puisse au moins fonctionner dans un état minimal sans JS. Par exemple, en computant tous les PostBack au moment de la soumission du formulaire, l'application continuerait à fonctionner - même s'il faudrait bien sûr soumettre plusieurs fois le formulaire.

  9. #9
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    10% lol, si tu veux mon avis ce chiffre est largement sur-évalué
    Voici des resultats trouvé sur le web qui me semblent bien plus corrects !
    Javascript activé, 98,9 %.
    Javascript désactivé, 1,1 %
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Combobox qui ne peut plus être utilisé
    Par SylvainM dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/12/2014, 17h06
  2. [Tk] Tag delete ne peut plus être recréé
    Par dmganges dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 16/07/2014, 08h34
  3. Réponses: 3
    Dernier message: 22/09/2011, 16h02
  4. Réponses: 10
    Dernier message: 05/05/2010, 09h16
  5. Réponses: 10
    Dernier message: 24/11/2007, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo