2013-04-18 2 views
1

Я работаю с asp.net MVC. Я пытаюсь показать пользовательское сообщение пользователю, когда он нажимает кнопку.Как показать подтверждение, когда я нажму кнопку?

Вот вид:

@foreach (var item in Model.ticketList) 
{ 
var number = item.TicketId.ToString(); 
<tr> 
    <td> 

     @Html.ActionLink(number, "Details", new {id=item.TicketId }) 
    </td> 
    <td>Title : 
     @Html.DisplayFor(model => item.Title) 
    </td> 
    <td> Date Submitted : 
     @Html.DisplayFor(model => item.DateCreated) 
    </td> 
    <td id="status"> Ticket Status : 
     @if (item.Status == "open") 
     { 
      <span id="open">Open</span> 
      @Html.ActionLink("Close","Close",new {id=item.TicketId}) 
     } 
     @if (item.Status == "closed") 
     { 
      <span id="closed">Closed</span> 
      @Html.ActionLink("Open","Open",new {id=item.TicketId}) 
     } 
    </td> 
</tr> 
<tr id="ticket-backcolor"> 
    <td colspan="4">Description : 
     @Html.DisplayFor(model => item.Description) 
    </td> 
</tr> 

}

Ссылка действия представляет собой контроллер действия, чтобы изменить значение поля. Это работает. Я хочу показать окно подтверждения, в котором я спрашиваю пользователя, уверен ли он, что он хочет закрыть/открыть билет.

Это то, что я пытался сделать до сих пор:

<script type="text/javascript"> 
function alert() { 
    confirm("are you sure you want to close this ticket ?"); 
} 
$(function() { 
    $("span[id='open']").click(alert) 
}); 
</script> 

И то же самое для открытого варианта. Это не работает. Кто-нибудь может мне помочь ?

Edit:

<script type="text/javascript"> 
$(document).ready(function() { 
    $("td[id='status']").click(function() { 
     return confirm('Are you sure you want to open the ticket ? '); 
    }); 
}); 
</script> 

<script type="text/javascript"> 
$(document).ready(function() { 
    document.getElementById("closed").click(function() { 
     return confirm('Are you sure you want to open the ticket ? '); 
    }); 
}); 
</script> 

Второй сценарий не работает. Этот скрипт работает для тега. не может заставить его работать для двух тегов span.

+0

use: return confirm («Вы уверены, что хотите закрыть этот билет?»); –

+0

возвращает экземпляр javascriptresult из вашего метода действий. –

+0

диалоговое окно подтверждения не отображается. Я думаю, что это потому, что $ (function() { $ ("span [id = 'open']"). Click (alert) }); не получает правильный интервал? –

ответ

0

Я нашел решение моей проблемы, и она работает.

@Html.ActionLink("Close Ticket", "Close", new { id = item.TicketId }, new { onclick=" return confirm ('Are you sure you want to close ticket ?')"}) 

Это сообщение покажет подтверждение до того, как действие будет выполнено.

3

Использование подтверждения

var answer = confirm("Are you sure?"); 
if (answer) { 
    //Confirm true code 
}else{ 
    //confirm false code 
} 
+0

использовать это внутри ? –

+0

Нет, прочитайте учебник для начинающих по javascript, а затем прочитайте о jQuery – DavidB

2
<script type="text/javascript"> 
function alert() { 
    confirm('are you sure you want to close this ticket ?'); 
} 
$(function() { 
    $('#open').click(function() { 
     alert(); 
    }); 
}); 
</script> 

Попробуйте это.

+0

не работает. он думает, что это потому, что $ ("span [id = 'open']") не получает пролет –

1

угождают попытался с ниже код

<script type="text/javascript"> 
     function closeTicketConfirm() { 
      if (confirm("are you sure you want to close this ticket ?")) { 
       //Do your code for close ticket 
      } 
     } 

     function openTicketConfirm() { 
      if (confirm("are you sure you want to open this ticket ?")) { 
       //Do your code for open ticket 
      } 
     } 

     $(function() { 
      $("span[id='open']").click(function() {closeTicketConfirm();}); 
      $("span[id='closed']").click(function() {openTicketConfirm();}); 
     }); 
</script> 
+0

нет результата, отображающегося вверх –

+0

позволяет повторить попытку для этого кода –

+0

Нет результата снова. это потому, что я показываю поиск другого, а не пробега? –

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