2010-01-25 4 views
0

Est-il possible de détruire un bouton HTML. Si l'utilisateur clique dessus parce qu'il a déjà atteint son objectif après avoir cliqué.auto bouton destruct en html

+1

Je ne suis pas sûr qu'elle est bonne facilité d'utilisation ... Bien sûr, il dépend de ce que vous êtes faire, mais je le ferais handicapés et changer l'étiquette à quelque chose comme « Inachevé » –

+0

les quelques fois mémorables que j'ai rencontré ce, il a été mis en œuvre afin de réduire la tension du serveur, car les demandes ont été hors délai. Étant donné que les demandes ont été hors délai, lorsque le bouton est désactivé, la seule façon la plupart des gens savaient comment présenter sous la forme d'une seconde fois de recharger la page et entrez toutes les données encore. La morale est: corrigez votre script côté serveur pour gérer l'impatience ou les connexions rompues! – Anonymous

Répondre

1

Oui, vous pouvez le désactiver ou le cacher. Exemple:

<input type="button" onclick="this.disabled=true;" /> 

Toutefois, si vous faites cela au bouton d'envoi, il se peut qu'il ne fonctionne pas correctement. La valeur du bouton ne sera pas inclus dans les données de formulaire, donc si le serveur recherche les données de bouton pour savoir ce qu'il était à l'origine de la forme de soumettre, il ne le trouvera pas.

+1

Bon point sur les données de formulaire! –

+0

Mais cela ne se produit pas si vous masquez le bouton en utilisant display = none. – thomaspaulb

+0

@littlegreen: Cela peut dépendre du navigateur, donc je ne me fierais pas dessus. Je me souviens d'avoir eu des problèmes avec Netscape ne pas envoyer de données à partir de champs invisibles ... – Guffa

9

Vous pouvez le faire avec JavaScript:

<button onclick="this.parentNode.removeChild(this)">Label</button> 
+0

parent ** Nœud **. – bobince

+0

Ah, putain. Merci, @bobince. – Gumbo

1

Oui, vous pouvez le faire comme ceci:

<input type="button" onclick="this.style.display = 'none';"> 
2

Je pense que vous pouvez le faire aussi par

<input type="button" onclick="this.style.visibility='hidden';">