Главная » Файлы » Скрипты для uCoz » Пользователи

Редактируем персональные данные с другой страницы by Nexon для uCoz
24.06.14, 10:14:47



Описание материала

Вот докопался я до сути. Часто требуется отредактировать данные где-нибудь не там где это положено юкозом, так как он ложит всё чаще и чаще на самих пользователей. Так вот в этой статье я представлю небольшой скрипт с пояснениями, чтобы вы могли там где этого захотите настроить редактирование, стольких параметров, сколько вам только понадобится. Итак приступим.

1. В шаблоне страницы редактирования персональных данных заключаем $BODY$ в див с классом redakt:
Код
<div class="redakt">$BODY$</div>


2. Далее на любой странице которой вам необходимо создаём пустой скрытый элемент:
Код
<div class="redakt" style="display:none;"></div>
Сразу можете его не скрывать для удобства настройки скрипта под вас. В нем будет находится реальная форма редактирования данных.

3. Ниже создаём для себя необходимую вам форму, например такую:
Код
<input id="name" class="manFlaName" size="20" maxlength="35" type="text"><br><br>  

  <img id="capimg" align="absmiddle" onclick="$('#secuImg').click();$('#capimg').attr('src',$('#secuImg').attr('src'));">  
  <input id="cap" class="manFlaName" size="6" maxlength="6" type="text"><br><br>  

  <input class="manFlSbm" id="save" value="Сохранить" type="submit">

Обязательно замете, что в форме должна обязательно присутствовать капча, картинка в дальнейшем подгружается скриптом, а так же необходимо настроить обновление капчи, в моём случае я просто эмитирую нажатие на настоящую капчу и потом подгружаю новую картинку в копию капчи.

4. Теперь пишем сам скрипт. В своём примере я редактирую только поле полное имя и вот скрипт:
Код
<script>  

  $(document).ready(function() { //ждём загрузки всей страницы, можно и не ждать  

  $('.redakt').load('/index/11 .redakt',function(){ //загружаем форму редактирование в скрытый элемент  

  $('#capimg').attr('src',$('#secuImg').attr('src')); //по окончанию загрузки берём из формы картинку капчи и вставляем её в нашу  
  $('#name').val($('input[name="name"]').val()); //так же берём текущее значение полного имени и вставляем в наше поле  

  }); //подготовка закончена  

  $('#save').click(function(){ //обрабатываем событие клика по нашей кнопке сохранить  

  var name = $('#name').val(); //получаем значение нашего поля имя  
  var cap = $('#cap').val(); //получаем значение нашего поля капчи  

  //тут хорошо бы сделать проверку на их длину, чтобы избежать неправильного запроса которые не приведёт ни к каким изменениям  

  $('input[name="name"]').val(name); //заполняем настоящее поле "имя" нашим новым значением  
  $('input[name="code"]').val(cap); //заполняем поле капчи тем, что ввёл пользователь в наше поле капчи  

$.post('/index/', $('form[name="adduser"]').serialize(), function(aposend) { //тут мы просто оправляем настоящую форму на сервер  
alert('Готово!'); //это надпись уведомляет о том что данные отправлены, она не подтверждает то что они приняты сервером  
});  

  });  

  });  

  </script>


5. Вот и всё я старался как можно подробнее разъяснить технологию, но в конечном счёте вам всё равно придётся возится с именами других полей, так как я не думаю что кто-то будет ставить этот скрипт в моём тестовом варианте smile

Урок и скрипт разработал и подготовил Nexon, специально для Apo-ucoz.com

Категория: Пользователи | Добавил: Apocalypse | Теги: персональные, другой, NEXON, ucoz, Редактируем, by, данные, для, страницы
Просмотров: 281 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email: