2012-03-10 2 views
0

* Кнопка ограничения IE6 нажмите один раз. *
У меня есть кнопка, которую нужно щелкнуть один раз, и при первом щелчке мне нужно запустить несколько логических операций (операций), например, сохранить некоторые данные в БД, отправить электронную почту, сделать некоторые записи и после успех этих операций мне нужно перенаправить на другую страницу. Но я используюКнопка ограничения IE6 Нажмите один раз

btnMakeFO.Visible = false ;

после щелчка события кнопки, пользователь все еще может щелкнуть его более чем в два раза.
Я также использовал:

btnMakeFO.Enabled = false ;

, но он не работает слишком.

Я также использовал следующую кнопку (в btnMakeFO_Click) выберите обработчик событий:

btnMakeFO.Attributes.Add("onclick", "this.disabled=true;" + Page.ClientScript.GetPostBackEventReference(btnMakeFO, "").ToString()); 

Я искал много по этому вопросу, но я не могу найти решение настроенную к моей проблеме.
ПРИМЕЧАНИЕ. Я разрабатываю на 64-разрядной машине Windows 7 и IE8, здесь кнопка нажата максимум два раза. В FireFox8 нажимается только один раз.
Но в производственной среде Windows Server 2003, Internet Explorer 6, на этом сервере кнопка может быть нажата более двух раз, т. Е. Кнопка btnMakeFO может быть нажата примерно 10-15 раз подряд.
(Internet Explorer 6 на Production Server не может быть обновлен, поскольку несколько старых приложений не будут работать корректно в более новых версиях Internet Explorer.)
Мне нужно исправить эту проблему как можно скорее завтра. Пожалуйста, помогите мне в этом отношении как можно скорее.

ответ

1

BTW Я использовал следующее (которое я нашел от Code Project), он очень много работает, и я доволен этим решением.

<asp:Button OnClick="btnMakeFO_Click" OnClientClick="clickOnce(this, 'ABC...')"> 

<script type="text/javascript"> 
function clickOnce(btn, msg) 
{ 
    // Test if we are doing a validation 
    if (typeof(Page_ClientValidate) == 'function') 
    { 
     // if we are doing a validation, return if it's false 
     if (Page_ClientValidate() == false) 
     { 
      return false; 
     } 
    } 

    // Ensure that the button is not of type "submit" 
    if (btn.getAttribute('type') == 'button') 
    { 
     // The msg attibute is absolutely optional 
     // msg will be the text of the button while it's disabled 
     if (!msg || (msg='undefined')) 
     { 
      msg = 'Saving.......'; 
     } 
     btn.value = msg; 
     // The magic :D 
     btn.disabled = true; 
    } 
    return true; 
} 
</script> 
0

javascript подход должен работать.

Вы вводите код с серверной стороны, что может быть сложной задачей. Вы все равно сможете увидеть результаты при запуске приложения и «Просмотр источника» в браузере. Вы должны увидеть JavaScript в теге, например:

<input type="submit" value="Submit" onclick="this.disabled=true" /> 

Для ASP.Net, вы также можете попробовать OnClientClick событие, которое вы можете добавить непосредственно в HTML, а не инъекционным его со своей страницы code- за.

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