JQuery - Форма ввода возврата подтверждения удаления - PullRequest
0 голосов
/ 18 мая 2010

Я очень старался, прежде чем писать здесь :) Теперь я хочу заменить стандартное подтверждение JavaScript для удаления файла. Я видел много примеров здесь, но нет примера с вводом формы.

Теперь у меня есть его форма:

<form action="delete.php" method="post">
<input type="hidden" name="id" value="<{$pid}>" />
<input type="hidden" name="picture" value="<{$lang_del_pic}>" />
<input type="image" src="<{xoImgUrl}>img/del-icon.gif" width="16" height="16" align="bottom" border="0" alt="Delete media" name="pictured" value="<{$lang_del_pic}>" onclick="javascript: return confirm('<{$lang_confirm_del}>');" />
</form>

Теперь, я все сделал, у меня есть этот div:

<div id="dialog-confirm" title="Empty the recycle bin?">
 <p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>These items will be permanently deleted and cannot be recovered. Are you sure?</p>
</div>

это javascript:

<script type="text/javascript">
 $(function() {
  // a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
  $("#dialog").dialog("destroy");


  $("#dialog-confirm").html('This dialog will show every time!');  
  $("#dialog-confirm").dialog({
   autoOpen: false,
   title: 'Kur za berbatov',
   resizable: false,
   height:140,
   modal: true,
   buttons: {
    'Delete all items': function() {
     document.location = 'delete.php';

    },
    Cancel: function() {
     $(this).dialog('close');
    }
   }
  });


  $('form#dialog-confirm').submit(function(){
            $("input#pictured").html($("input#pictured").val());
            $('#dialog').dialog('open');
            return false;
        }); 


  $('input#opener').click(function() {
   $('#dialog-confirm').dialog('open');
  }); 

 });
 </script>

и эта новая форма:

<form name="dialog-confirm"  id="dialog-confirm" method="post">
<input type="hidden" name="id" value="<{$pid}>" />
<input type="hidden" name="picture" value="<{$lang_del_pic}>" />
<input type="image" src="<{xoImgUrl}>img/del-icon.gif" width="16" height="16" align="bottom" border="0" alt="Delete media" name="pictured" value="" id="opener"  />
</form>

При печати я успешно вызываю модальный диолог jQuery, и все работает, но почему-то, когда я нажимаю «удалить все», скрипт говорит мне - «скрипт вызывается без необходимых параметров»

Теперь я полагаю, что мне не удалось отправить идентификатор фотографии, который нужно удалить с помощью jQuery, .. но я не знаю, как это исправить. Есть идеи ?

Обновление

Ну, я разместил оригинальную форму, новую форму и jQuery ... Я действительно не могу это сделать ... пожалуйста, посмотрите на пост.

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

P.S. Я переписываюсь со своими аккаунтами здесь, это новый:)

Обновление 2

Теперь это должно работать в соответствии со всеми уроками. Но кнопка удаления по-прежнему не отправляет форму ... Почему это, пожалуйста, помогите мне ..

    <script type="text/javascript">
        $(function() {
            // a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
            $("#dialog").dialog("destroy");


            $("#dialog-confirm").html('This dialog will show every time!');     
            $("#dialog-confirm").dialog({
                autoOpen: false,
                title: 'Kur za berbatov',
                resizable: false,
                height:140,
                modal: true,
                buttons: {
                    'Delete all items': function() {
                        document.dialog-confirm.submit(); 

                    },
                    Cancel: function() {
                        $(this).dialog('close');
                    }
                }
            });


            $('form#dialog-confirm').submit(function(){
                $('#dialog-confirm').dialog('open');
                return false;
            }); 

        });
        </script>



<form action="delete.php" name="dialog-confirm"  id="dialog-confirm"  method="post">
<input type="hidden" name="id" value="<{$pid}>" />
<input type="hidden" name="picture" value="<{$lang_del_pic}>" />
<input type="image" src="http://7est2.mqsto.com/themes/exnews/img/del-icon.gif" width="16" height="16" align="bottom" border="0" alt="Delete media" name="pictured" value="" id="opener"  />
</form>

1 Ответ

0 голосов
/ 18 мая 2010

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

var id = 0;
$("form").submit(function(){
     id = $(this).attr("id");
});

теперь вы получаете глобальную переменную и можете использовать ее в других своих функциях

   buttons: {
    'Delete all items': function() {
    ...
    build an Ajax call here you can use id 
    ...     
    },

Обновление

вместо использования document.dialog-confirm.submit();

Я должен использовать:

$('#dialog-confirm').submit();

Обновление 2

взгляните на $(document).ready(function() { ... } возможно, вы ошиблись кодом или что-то в этом роде. и попробуйте поработать с alert() для отладки вашего JavaScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...