Вопросы по PHP и mootools - PullRequest
       23

Вопросы по PHP и mootools

0 голосов
/ 03 августа 2009

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

У меня есть мой PHP-код, использующий codeigniter для генерации следующих любопытных вещей, в основном перечисляющих имя пользователя и ссылку для удаления пользователя.

<div class='item'> 
<a href="http://localhost/nstrust/index.php/admin/users/delete/9" class="delete">Delete</a> <a href="http://localhost/nstrust/index.php/admin/users/view/9" class="view">Jamalia</a>
</div> 
<div class='item'> 
<a href="http://localhost/nstrust/index.php/admin/users/delete/13" class="delete">Delete</a> <a href="http://localhost/nstrust/index.php/admin/users/view/13" class="view">Timothy</a>
</div> 

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

 window.addEvent('domready', function()
 {
    $$('a.delete').addEvent('click', function(event)
    {
        if (!confirm("Are you sure you want to remove this user?"))
        {
            event.stop();
        }
    });
 });

Ответы [ 3 ]

3 голосов
/ 03 августа 2009

На вашей разметке будет работать следующее:

$$('a.delete').addEvent('click', function(event) {
  var username = $(event.target).getNext().get('text'); //The username is in the next tag.
  if (!confirm("Are you sure you want to remove " + username + "?")) {
    event.stop();
  }
});

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

2 голосов
/ 03 августа 2009

Если ваш HTML всегда будет соответствовать разметке, указанной выше, ваш вызов confirm() может выглядеть примерно так:

var username = $$(event.target).getNext().text; confirm("Are you sure that you want to delete " + username + "?");

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

1 голос
/ 08 августа 2009

Великолепные ответы.

Лично мне не нравится слишком сильно полагаться на свою html-структуру для такого рода вещей, поэтому я склонен хранить все свои данные в объекте или html-элементах (в меньшем количестве случаев).

Первый - немного более глубокий, чем я хочу сейчас объяснить!

Таким образом, чтобы сделать последнее, вы могли бы выплюнуть html:

<a href="..." class="delete" rel="Jamalia">

, а затем использовать в ваших mootools

var username = this.get('rel');

Тогда вы сможете делать с HTML все, что захотите. Rel хорош, потому что он все еще действителен.

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