2011-12-13 4 views
1

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

<script type="text/javascript"> 
    var _source; 
    var _popup; 

    function showChild_Delete(source) { 
     this._source = source; 
     this._popup = $find('popupChild_Delete'); 
     this._popup.show(); 
    } 

    function btnChild_Delete_Click() { 
     this._popup.hide(); 
     __doPostBack(this._source.name, ''); 
    }      
</script> 

ASP.Net код вызова код расслоение плотной:

<asp:ImageButton ID="btnChild_Delete" runat="server" SkinID="delete" OnClientClick="showChild_Delete(this); return false;" 
                CommandName="deleteChild" CausesValidation="False" CommandArgument='<%# Eval(childID) %>' /> 

C# код:

if (e.CommandName == "deleteChild") 

    { 
     hashTable.Add(childID, e.CommandArgument); 
     sqlData.GetDataTable(sproc_delChild, hashTable); 

     gvChild.SelectedIndex = -1; 
     pnlChild_Upload.Visible = false; 
     this.upnlChildUpload.Update(); 

     RefreshChild(); 
    } 

Я буду признателен за любую помощь.

ответ

0

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

<script type="text/javascript"> 
    function btnChild_Delete_Click() { 
     this._popup.hide(); 

     // the _doPostBack is triggering the delete. simply writing something here. 
     if (!confirm('Are you sure?')) return; 

     __doPostBack(this._source.name, ''); 
    }      
</script> 

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

  1. Задать вопрос DIV, чтобы подтвердить удаление. Стилизация как вам нравится в CSS и скрыть его (делая его дисплей:. Ни один, или вне экрана с полями

    <div id="confirmationBox"> 
        <p>Are you sure?</p> 
        <button id="doDelete">Delete</button> 
    </div> 
    
  2. Alter скрипт для вызова функции, которая показывает/скрывает DIV подтверждения:

    function buttonConfirmDelete_Click { 
        // 1. display the confirmation box. 
    } 
    
    function buttonDoDelete_Click { 
        __doPostBack(this._source.name, ''); 
        // 2. hide the confirmation box. 
    } 
    

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

Есть, конечно, более чистые способы сделать это, но похоже, что вы ищете быстрое и простое решение.

Это ответит на ваш вопрос?

+0

Hi. Спасибо за ваш ответ. Он работает, но дает окно браузера, который отличается от моего веб-сайта. Как заголовок окна, цвет, размер. Как я могу это решить? – lawzlo

+0

Я бы предложил сделать 'DIV' где-то в вашем коде для панели подтверждения, чтобы вы могли стилизовать его с помощью CSS, как и любой другой элемент HTML. Просто измените эту строку, чтобы отобразить всплывающее окно и получить ответ от пользователей. –

+0

Что работает ~ Спасибо – lawzlo

0
function btnChild_Delete_Click() { 
    if (!confirm('Are you sure you want to delete?')) return; 
    this._popup.hide(); 
    __doPostBack(this._source.name, ''); 
} 
1

This answer to a question I asked myself содержит полное решение, которое использует диалог jquery-ui для диалогового окна подтверждения всплывающих окон.

Возможно, вы сможете адаптировать его к любой используемой библиотеке javascript.

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

  • Нет связанных вопросов^_^