8
votes

verrouiller tout bouton d'envoi avant la page entièrement rendue

Puisse-je savoir comment utiliser jQuery pour verrouiller tous les


0 commentaires

5 Réponses :


8
votes

Par défaut, vos boutons de soumission ont l'attribut désactivé défini sur true: xxx pré>

puis, une fois la page chargée, vous pouvez faire: p>

$('input').removeAttr('disabled');


6 commentaires

C'est en fait désactivé = "désactivé"


Edité la réponse à afficher désactivé = "désactivé" - c'est une réponse autrement bonne.


@Kai, non, c'est exactement ce que veut le choix, qui permet d'activer les éléments une fois que la page est entièrement rendue.


@Marko, en fait, Désactivé fonctionnera avec n'importe quelle valeur, même "False"! Mais toujours, la valeur correcte est "désactivée", donc +1 sur votre commentaire.


Merci Mike, je viens de faire . Vous pouvez omettre la valeur de cet attribut :)


@Marko, oui, c'est pourquoi la valeur est sans importance et que vous devez faire retirer



1
votes
<input id="form-submit" type="submit" disabled="disabled" value="Submit" />

$(document).ready(function() {
    $("#form-submit").removeAttr('disabled');
});

0 commentaires

3
votes

jQuery xxx

html xxx


0 commentaires

13
votes

En raison du cas d'utilisation, je pourrais l'approcher différemment. Au lieu de en réalité em> désactivation des boutons, je n'autoriserais tout simplement pas l'action de soumission à fonctionner jusqu'à ce que la page soit chargée. Cela ne nécessite aucune modification du HTML existant pour fonctionner, et vos pages ne seront pas rendues inutiles lorsque JS est désactivé:

<script>
   // Keep all submit buttons from working by returning false from onclick handlers
   $('input:submit').live('click', function () {
      return false;
   });

   // After everything loads, remove the the "live" restriction via "die"
   $(window).load(function(){
       $('input:submit').die();
   });
</script>


8 commentaires

Cependant, cela dépend toujours de la chargement de JQuery avant que la page soit entièrement rendue!


Si JQuery est dans votre , il sera la charge avant que la page soit rendue. En fait, le rendu des pages s'arrêtera pendant la charge.


Eh bien, si la jQuery est dans la tête, le reste de l'exercice est inutile. :)


@Mike Comment le reste de l'exercice est-il inutile? Dans ce cas d'utilisation, rendu une page avec toutes les commandes désactivées est mauvaise idée que si l'application oblige l'utilisateur à avoir activé JS. Chargement de JS dans la est le bon choix pour éviter de rainurer une page inutile à ces w / o JS activé.


Je plaisantais juste, ce qui signifie que l'exercice semblait avoir appelé à un code non bloquant.


@Mike haha ​​... c'est possible;) Eh bien, entre nous deux, nous avons le OP couvert!


Utilisez sur et éteint au lieu de live et die


Et qu'en est-il si la soumission n'est pas liée à cliquer dessus peut également être effectuée à l'aide d'une entrée ou d'un raccourci clavier?



0
votes

Ne pouviez-vous pas faire quelque chose comme

window.onsubmit=function(){return false;}
window.onload=function(){window.onsubmit='';}


0 commentaires