2010-11-08 2 views

Répondre

1

Peu importe ce que vous faites s'il y a un tag form dans la page et que javascript est désactivé, vous pouvez toujours le soumettre. Même si vous supprimez l'attribut action, il sera soumis à la même page. Vous pouvez donc utiliser la balise <noscript> pour fournir un balisage alternatif aux utilisateurs avec javascript désactivé. Une autre possibilité est de cacher le bouton soumettre avec CSS et de le montrer avec javascript (de sorte que seuls les utilisateurs ayant JS activé peuvent le voir) mais ce n'est pas idéal car le formulaire peut être envoyé en appuyant sur Entrée lors d'une saisie.

Je pense une meilleure façon serait de laisser la forme soumettre une demande régulière et dans votre poignée d'action du contrôleur ce cas et réagir en conséquence:

if (Request.IsAjaxRequest()) 
{ 
    // act as normal 
    return PartialView(); 
} 
else 
{ 
    // the user had javascript disabled 
    return View(); 
} 
+0

si vous regardez, quand vous avez JS désactivé, vous Je ne peux pas voter, je préfère, etc. Vous pouvez cliquer dessus, mais ça ne fait rien. Peut-être qu'il fait quelque chose derrière la scène – TPR

+1

Ce qu'il fait dans les coulisses, c'est qu'il utilise un 'span' pour les boutons au lieu des boutons' submit' et attache les gestionnaires de clics discrètement à eux en utilisant jQuery. Donc, si l'utilisateur a javascript désactivé ces gestionnaires de clics ne sont pas attachés et rien ne se passe parce que vous cliquez sur un simple «span». –

Questions connexes