2015-11-13 5 views
0

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

Я пишу страницу с таблицей, которая позволяет пользователям добавлять игроков в игру. Каждый <td> содержит <input type='hidden'... и часть информации (имя игрока, место, точки и т. Д.). Существует также кнопка «удалить» (для использования, когда игрок ошибочно добавляется дважды, или неверный игрок добавляется в список). На этом этапе при нажатии кнопки «Сохранить» таблица отправляет все скрытые входы на страницу «Подтвердить результаты» перед закрытием страницы и обновлением базы данных.

Проблема, с которой я сталкиваюсь, заключается в том, что игроки должны быть добавлены и удалены из базы данных в прямом эфире. Чтобы сделать это, я создал форму, разместив ее данные на одной странице, а затем (если я перефразирую здесь) if($form = 'new player') команда SQL добавит временный файл в базу данных, чтобы показать, что игрок зарегистрирован, а затем SQL SELECT получит всех игроков в этой игре и повторит их на странице. Я хочу, чтобы кнопка удаления удаляла строку игроков из базы данных с момента ее нажатия и обновления страницы, но единственный способ, которым я это знаю, - это форма, и это создало бы форму внутри формы.

Как еще я могу удалить кнопку удаления из базы данных, не покидая текущего окна и не используя другую форму? Это что-то должно быть сделано с AJAX? (Я почти ничего не знаю о AJAX - узнаю, что это следующий в моем списке, но сейчас я просто хочу, чтобы эта страница работала).

добавлено: Одна из идей, я должен был сделать кнопку удаления больше как msgbox, чтобы создать внутреннее окно, в котором в основном говорится «Вы уверены, что хотите удалить John Smith», а затем запустите код SQL в этом окне. Будет что-то подобное? Как я могу это сделать?

+0

Определенно. Используйте ajax. У вас есть первичный ключ или уникальный идентификатор для каждой строки в таблице 'players'? – Akshay

+0

я. Каждый игрок на таблице «игроки» имеет идентификатор. Каждая строка в таблице имеет идентификатор, который является словом игрока, за которым следуют игроки ID – Tunna182

ответ

1

Вы можете вызвать действие с помощью нажатия кнопки AJAX. Так что, если вы установите действие, чтобы сделать то, что вы хотите (ваше удаление), то вы должны быть abkle уволить его .....

Я использую MVC бритву и сделать это так .... JQuery ....

$("#yourButton").click(function (e) { 
    var url = "@Url.Action("YourActionName", "YourControllerName")"; 
    //alert(url); 
    $.ajax({ 
     url: url, 
     type: 'POST', 
     cache: false, 
     data: { param1: param1Val, param2: param2Val }, 
     success: function (result) { 
      ..Do something with result if required 
     }     
    }); 
    return true; 
}); 

у меня были подобные сценарии для вас, и я довольно новыми для этого, однако, и это, кажется, работает хорошо.

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

+0

хм ... Я просто поддержал ваш ответ, потому что я его часть, но я все еще немного смущен ... Я думаю, при этом этап Я дам кнопке удаления флажок, чтобы удаление произошло позже, и я узнаю больше об AJAX и вернусь к этому. – Tunna182

+0

Спасибо. Я работаю над чем-то похожим на данный момент. У меня есть модель, в которой есть список. Элементы в списке имеют свойство сказать, были ли они добавлены, обновлены, удалены или изменены. Через событие JQuery click Я установил это свойство и спрятал элементы, помеченные для удаления. Затем, когда я прихожу, чтобы сохранить свою модель, я проверяю это свойство и выполняю соответствующую операцию. Когда я добавляю в список, я вызываю действие, которое возвращает частичное представление (которое представляет собой строку таблицы), которое я затем добавляю к основной таблице. Теперь у меня это работает красиво. Я могу опубликовать. – AntDC