Показать окно подтверждения в ASP.NET с использованием JavaScript - PullRequest
1 голос
/ 08 февраля 2010

Мне нужно показать поле подтверждения "Вы уверены, что хотите продолжить?" Если «Да», мне нужно очистить значение текстового поля ASP.NET. В противном случае его не следует очищать.

Ответы [ 5 ]

1 голос
/ 08 февраля 2010
function doConfirm(){
  if (confirm("Are you sure you want to continue?")){
     var mytxtbox = document.getElementById('<% =myAspTextBox.ClientID %>');
     mytxtbox.value = '';
  }    

}

Обратите внимание, что myAspTextBox ссылается на имя свойства идентификатора элементов управления asp: textbox

<asp:textbox ID="myAspTextBox" runat="server" OnClientClick="javascript:doConfirm();"

Надеюсь, это поможет

1 голос
/ 08 февраля 2010

Если вы загрузите AjaxControlToolkit , вы можете использовать ConfirmButtonExtender для отображения простого окна подтверждения пользователю после нажатия кнопки для продолжения действия или отмены

Вы можете увидеть здесь для примера и здесь для учебника о том, как реализовать это

Хорошо, я только что заметил немного о переключателях, в любом случае, AjaxControlToolkit - хорошее место для начала, если вы хотите реализовать решения JavaScript в проектах .Net

1 голос
/ 08 февраля 2010

В теге asp textbox добавьте:

OnClientClick="javascript:testDeleteValue();"

... И добавьте этот скрипт:

<script>
function testDeleteValue()
{
   if (window.confirm('Are you sure You Want To continue?'))
      document.getElementById("<%=<th id of your textbox>.ClientID%>").value = '';
}  
</script>

Если вы хотите, чтобы это происходило по щелчку вашего радиоблока, поместите его в этот тег и просто замените onclientclick на onclick.

<input type='radio' onclick='testDeleteValue()'/>
0 голосов
/ 14 июля 2011
function stopTimer() {        
if (window.confirm('Are you sure You Want To continue?')) {
$find('Timer1')._stopTimer()
return true;
}
else {
return false;
}

<asp:Button ID="Btn_Finish" runat="server" Text="Finish" Width="113px" OnClick="Btn_Finish_Click" OnClientClick="return stopTimer();" Height="35px" 

protected void Btn_Finish_Click(object sender, EventArgs e)
{
Timer1.Enabled = false;
// if any functions to be done eg: function1();
Response.Redirect("~/Default2.aspx");
}

В функции также есть остановка таймера. Окно подтверждения, если нажать «Ок», таймер останавливается, а также перенаправляется на новую страницу «Default2.aspx»

В противном случае, если выбрана отмена, то ничего не происходит.

0 голосов
/ 08 февраля 2010

, если это ваша разметка текстового поля:

<asp:textbox id="txtInput" runat="server" />

и затем это кнопка, которая вызовет подтверждение:

<asp:button id="btnSumbit" runat="server" onclientclick="return clearOnConfirm();" text="Submit" />

тогда вам понадобится следующий javascript:

<script type="text/javascript">
function clearOnConfirm() {
    if (confirm("Are you sure you want to continue?")) {
        document.getElementById("<%=txtInput.ClientID %>").value = '';
        return true;
    } else {
        return false;
    }
}
</script>

Если все, что вы хотите сделать, это очистить текстовое поле, но всегда продолжать обратную передачу, вам не нужно возвращать false, как указано выше, но всегда возвращать true, как показано ниже. В этом случае вам следует переосмыслить сообщение, отображаемое для пользователя.

<script type="text/javascript">
function clearOnConfirm() {
    if (confirm("Are you sure you want to continue?")) {
        document.getElementById("<%=txtInput.ClientID %>").value = '';
    } 
    return true;
}
</script>
...