2010-03-30 7 views
0

Quelqu'un peut-il me faire savoir la technique utilisée pour «cacher» la publication en appuyant sur un bouton?HTML - Comment masquer les publications?

+0

AJAX? . . . . . – jball

+5

Veuillez définir "postback" dans vos propres mots. – BalusC

+0

On dirait que les OP recherchent ajax - pas sûr cependant. Pouvez-vous donner un exemple d'un site (partie d'un site spécifique) qui fait ce que vous cherchez? Ou peut-être juste le décrire? – Cam

Répondre

1

Si vous souhaitez empêcher l'actualisation de la page, vous pouvez utiliser un UpdatePanel dans Ajax Control Toolkit. Cela vous permet de rafraîchir seulement une partie de la page, et il est impossible de le dire simplement en le regardant.

+3

Remarque, il s'agit d'une solution spécifique .NET, pas une solution générale. – jball

0

En fait, d'une façon que j'ai trouvé pour cacher postbacks dans IE est d'utiliser des transitions de page avec un intervalle très court:

<meta http-equiv="Page-Enter" content="blendTrans(Duration=.01)" /> 
<meta http-equiv="Page-Exit" content="blendTrans(Duration=.01)" /> 

Cela provoque la page pour retourner littéralement d'un écran à un autre en ajoutant un transition de mélange qui est très courte.

Dans d'autres navigateurs, vous pouvez effectuer les opérations suivantes:

<SCRIPT type="text/javascript"> 

function fadeInit() { 
document.body.style.opacity=0.2; // initialise 
} 

function fadeIn() { 

var bodyStyle=document.body.style; 

if (bodyStyle.opacity < 1) { 
bodyStyle.opacity=((bodyStyle.opacity*10)+1)/10; //Add 0.1 
setTimeout('fadeIn();',50) 
} 
} 

</SCRIPT> 

<body onload="fadeInit();fadeIn();"> 

Crédit pour le second script ici: http://www.secretgeek.net/fajax.asp

0

On ne sait pas ce que vous avez tout à fait demander que le terme « postback » est mal placé dans le contexte de votre question. C'est aussi pourquoi j'ai demandé dans un commentaire d'en dire un peu plus à ce sujet dans vos propres mots. Après tout, je soupçonne que vous aimez juste bloquer l'action par défaut du bouton (soumettre le formulaire) en appuyant sur le bouton et en exécutant du code JavaScript attaché à l'événement. Si cela est vrai, alors tout ce que vous devez faire est de laisser l'événement return false.

exemple de base coup d'envoi:

<input type="submit" value="submit" onclick="doStuff(); return false;"> 

ou si doStuff() se retourne déjà true ou false, par exemple validateForm(this) ou si, de sorte que vous pouvez décider de procéder à la forme soumettre, puis le faire:

<input type="submit" value="submit" onclick="return doStuff();"> 

gérer cette plus propre et unobtrisuvely je vous suggère de jeter un oeil à jQuery.

1

Ajax est probablement la solution que vous voulez vraiment, mais il y a une solution rapide et sale à ce que vous voulez faire (si je vous ai bien compris). Vous pouvez mettre un iframe caché dans votre code html avec un nom, disons:

<iframe name='hidden-result'... 

Vous pouvez définir la cible de la forme que vous soumettez pour aller à la iframe comme:

<form target='hidden-result'... 

Assurez Assurez-vous de cacher l'iframe et personne ne sera plus sage. Bien sûr, si vous voulez vraiment faire quelque chose avec la réponse, cela devient un peu plus compliqué;)

0

En fonction de ce que vous entendez par "cacher des publications", Post-redirect-get est un modèle courant qui peut résoudre votre problème.

L'idée de base est que vous redirigiez après le traitement de chaque POST, de sorte que les clients reçoivent uniquement les pages générées par les commandes GET. Entre autres choses, cela empêche les clients de double-affichage accidentellement quand ils touchent le bouton d'actualisation.

Questions connexes