2010-03-30 2 views
0

Может ли кто-нибудь сообщить мне технику, используемую для «скрытия» обратной передачи при нажатии кнопки?HTML - Как скрыть ретрансляторы?

+0

AJAX? , , , , , – jball

+5

Пожалуйста, определите "postback" своими словами. – BalusC

+0

Похоже, что OP ищет ajax - не уверен, хотя. Можете ли вы привести пример (часть определенного) сайта, который делает то, что вы ищете? Или, может быть, просто опишите это? – Cam

ответ

1

Если вы хотите, чтобы страница не обновлялась, вы можете использовать UpdatePanel в Ajax Control Toolkit. Это позволяет вам обновлять только часть страницы, и невозможно просто сказать, глядя на нее.

+3

Примечание. Это специальное решение .NET, а не общее решение. – jball

0

На самом деле, один из способов я нашел, чтобы скрыть постбэки в IE является использование переходов страниц с очень коротким интервалом:

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

Это вызывает страницу, чтобы буквально перевернуть с одного экрана на другой, добавив который очень короткий.

В других браузерах, вы можете сделать следующее:

<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();"> 

Кредит для второго сценария здесь: http://www.secretgeek.net/fajax.asp

0

Неясно, что именно вы спрашиваете, как термин «постбэка» неуместна в контексте вашего вопроса. Вот почему я спросил в комментарии, чтобы подробнее рассказать об этом своими словами.

В конце концов, я подозреваю, что вам просто нужно заблокировать действие кнопки по умолчанию (отправка формы) при нажатии кнопки и выполнении кода JavaScript, прикрепленного к событию. Если это так, то все, что вам нужно сделать, это позволить событию return false.

Базовый пример стартового:

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

или если doStuff() сам уже возвращает true или false, например, validateForm(this) или так, чтобы вы могли решить, следует ли продолжать с подчиненной формы, а затем сделать так:

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

Чтобы справиться с этим более чистым и unobtrisuvely я предлагаю взглянуть на jQuery.

1

Ajax, скорее всего, решение, которое вы действительно хотите, но есть быстрое и грязное решение того, что вы хотите сделать (если я правильно вас понял). Вы можете поместить скрытый IFRAME в вашем HTML с именем, скажем:

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

Вы можете установить цель формы вы отправляете, чтобы перейти к IFRAME как:

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

Просто сделайте уверен, что вы скрываете iframe, и никто не станет мудрее. Конечно, если вы действительно хотите что-то сделать с ответом, это становится немного сложнее;)

0

В зависимости от того, что вы подразумеваете под «скрытием обратной связи», Post-redirect-get - это общий шаблон, который может решить вашу проблему.

Основная идея заключается в том, что вы перенаправляете после обработки каждого POST, чтобы клиенты получали только страницы, созданные командами GET. Помимо всего прочего, это позволяет клиентам случайно выполнять двойную проводку, когда они нажимают кнопку обновления.

Смежные вопросы