2010-07-06 5 views

Répondre

10

En raison de cas d'utilisation, je pourrais aborder différemment. Au lieu de en fait en désactivant les boutons, je ne permettrais tout simplement pas l'action de soumission de travailler jusqu'à ce que la page est chargée. Cela ne nécessite aucune modification du code HTML existant au travail, et vos pages ne sera pas rendu inutile lorsque JS est désactivé:

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

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

Mise à jour: Vous avez oublié de mentionner à la fois de mettre cela et la balise script pour charger la bibliothèque jQuery dans votre <head> si vous voulez que cette solution fonctionne. (Merci de me rappeler Mike Sherov).

+3

Cependant, cela dépend toujours du chargement de jquery avant que la page ne soit entièrement rendue! –

+0

Si jQuery se trouve dans votre , il * se chargera * avant le rendu de la page. En fait, le rendu de la page s'arrêtera pendant le chargement. –

+0

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

5

Par défaut, vous avez vos boutons submit ont l'attribut disabled valeur true:

<input type="submit" disabled="disabled" /> 

Puis, une fois la page se charge, vous pouvez faire:

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

Il est en fait désactivé = "désactivé" – Marko

+0

votre code fera l'opposé de l'OP veulent.Il activera l'élément .. – Kai

+0

Édité la réponse à montrer désactivé = "désactivé" - c'est une sinon bonne réponse. – thomasrutter

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

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

jQuery

$(document).ready(function(){ 
    $(":button,:submit").removeAttr("disabled"); 
}); 

HTML

<input type="button" id="button1" value="Button 1" disabled="disabled"> 
<input type="button" id="button2" value="Button 2" disabled="disabled"> 
<input type="button" id="button3" value="Button 3" disabled="disabled"> 
<input type="submit" id="submit" value="Submit" disabled="disabled"> 
0

ne pourriez-vous faire quelque chose comme

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

Je ne sais pas comment le bouillonnement de l'événement travaillerait avec un onsubmit. Je devrais le tester. Aussi, je ne sais pas jquery donc je ne sais pas comment l'intégrer.

Questions connexes