Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: php + jquery

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
die
Отправлено: 04 Февраля, 2013 - 14:25:36
Post Id



Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




Подскажите как осуществить следующее действие!

Есть страница в ней таблица, содержимое таблицы выводиться из базы.

index.php
CODE (html):
скопировать код в буфер обмена
  1.  
  2. 1 Вася $b
  3. 2 Таня $b
  4. 3 Гена $b
  5. 4 Лиза $b
  6.  

$b = "<input type=\"hidden\" id=\"edit-connect\" value=\"".$sql['id']."\"/><div class=\"he-button-edit\" onclick=\"edit();\" >&nbsp;</div>";


edit.php
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <script type="text/javascript"> $(function() { $( "#dialog-edit-connect" ).dialog({ autoOpen: false, height: 200, width: 600, modal: true, close: function() { allFields.val( "" ).removeClass( "ui-state-error" ); } }); }); </script>
  3.  
  4. <div id="dialog-edit-connect">форма</div>


javascript
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. function edit() {  
  3.  $.ajax({ type: "POST",
  4.   url: "edit.php",
  5.    data: "line="+$('#id-edit-connect').val()+"",
  6.     success: function(html) { $("#result_edit_connect").empty(); $("#result_edit_connect").append(html); $( "#dialog-edit-connect" ).dialog( "open" );  } }); }
  7.  


При нажатии на кнопку отправляется POST запрос, открывается диалоговое окно где выводит ответ запроса со страницы edit.php
всё работает но POST который отправляю всегда тот который находится 1 по списку. В данном случае line=1.

как сделать так чтобы при нажатии на 3 кнопку отправлялся 3 id а не первый
 
 Top
LShark
Отправлено: 04 Февраля, 2013 - 14:32:45
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




Ну так правильно. Ты назначаешь один ID всем, потому и берется первый.

Назначай при создании каждому свой Id (например:
foreach($array as $key =>$value) {
создание кнопок, но когда доходит до создания ID -
echo'<div id="dialog-edit-connect'.$key.'">форма</div>';

}

Ну и на вызов аналогично. Тогда каждая кнопка имеет свой id и не ошибешься.

Или я не правильно понял задачу?


$b = "<input type=\"hidden\" id=\"edit-connect".$key."\" value=\"".$sql['id']."\"/><div class=\"he-button-edit\" onclick=\"edit('".$key."');\" >&nbsp;</div>";

и в джаваскрипте добавляй edit(n_id) и потом при запросе - $('#id....'+n_id).()

(Отредактировано автором: 04 Февраля, 2013 - 14:36:59)



-----
Истина прежде всего в том, что...
 
 Top
die
Отправлено: 04 Февраля, 2013 - 15:05:13
Post Id



Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




Понял правильно, но сделал по другому!)) вроде работает )))

кнопка так
CODE (htmlphp):
скопировать код в буфер обмена
  1. ech0 = "<div class=\"he-button-edit\" onclick=\"edit('".$sql['id']."');\" >&nbsp;</div>";
  2.  

а js так
CODE (htmlphp):
скопировать код в буфер обмена
  1. function edit(line) {  
  2.  $.ajax({ type: "POST",
  3.   url: "edit.php",
  4.    data: "line="+ line +"",
  5.     success: function(html) { $("#result_edit_connect").empty(); $("#result_edit_connect").append(html); $( "#dialog-edit-connect" ).dialog( "open" );  } }); }


так же можно ?
 
 Top
LShark
Отправлено: 04 Февраля, 2013 - 15:24:09
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




Вроде да,
Но так как текст резаный, не пойму, зачем
$("#result_edit_connect").empty();
$("#result_edit_connect").append(html);

Может так?
$("#result_edit_connect").html("Что сюда вставить");


-----
Истина прежде всего в том, что...
 
 Top
die
Отправлено: 04 Февраля, 2013 - 15:24:11
Post Id



Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




die пишет:
Понял правильно, но сделал по другому!)) вроде работает )))

кнопка так
CODE (htmlphp):
скопировать код в буфер обмена
  1. ech0 = "<div class=\"he-button-edit\" onclick=\"edit('".$sql['id']."');\" >&nbsp;</div>";
  2.  

а js так
CODE (htmlphp):
скопировать код в буфер обмена
  1. function edit(line) {  
  2.  $.ajax({ type: "POST",
  3.   url: "edit.php",
  4.    data: "line="+ line +"",
  5.     success: function(html) { $("#result_edit_connect").empty(); $("#result_edit_connect").append(html); $( "#dialog-edit-connect" ).dialog( "open" );  } }); }


так же можно ?


Возникла ещё одна проблема
После того как нажал на кнопку запрос отправляется выводит содержимое правильно, я закрываю окно. Но если я нажму на любую другую кнопку содержимое остаётся тем же, хотя параметр передаю уже совсем другой

жму на кнопку с id=3 он покажет его содержимое, а когда нажму кнопку с id=77 то покажет ту на которую нажал в первый раз.

Как можно обновить содержимое
CODE (htmlphp):
скопировать код в буфер обмена
  1. <div id="dialog-edit-connect">форма</div>
 
 Top
LShark
Отправлено: 04 Февраля, 2013 - 15:25:43
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




<div id="dialog-edit-connect">форма</div>

заменить на
<div><p id="dialog-edit-connect">форма</p></div>

и через
$("#result_edit_connect").html("Что сюда вставить"); обновлять


-----
Истина прежде всего в том, что...
 
 Top
die
Отправлено: 04 Февраля, 2013 - 15:27:00
Post Id



Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




LShark пишет:

Но так как текст резаный, не пойму, зачем
$("#result_edit_connect").empty();
$("#result_edit_connect").append(html);


<div id="result_edit_connect"></div> отображает результат
 
 Top
LShark
Отправлено: 04 Февраля, 2013 - 15:52:18
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




Я имел ввиду - ты сначала чистишь html код в div, а затем его создаешь.
И не надо чищу/создаю, когда можно просто присвоить - тогда уже имеющийся html заменится на новый. 1 команда вместо 2-х.

(Отредактировано автором: 04 Февраля, 2013 - 15:53:17)



-----
Истина прежде всего в том, что...
 
 Top
die
Отправлено: 04 Февраля, 2013 - 16:42:19
Post Id



Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




LShark Пробую по разному но не получается
$("#result_edit_connect").html("Что сюда вставить");

Что сюда вставить - туда нужно вставить страницу которую получаю в ответ при отправке запроса на страницу edit.php. Как это совместить с тем что ты выше написал?
В js слаб.

суть в чём нажимаю на кнопку, отправляю id на edit.php и получаю ответ в окно где форма заполненная данными из базы. но что бы её заполнить нужно получит параметр $_POST['id'].
Всё работает, запрос отправляется, из базы всё показывает но после того как я открыл 1 раз окно его содержимое там и остаётся если открыть любое другое окно

решил в функцию добавил $("#dialog-edit-connect").empty(); $("#dialog-edit-connect").append(html); теперь всё показывает как надо.

(Отредактировано автором: 04 Февраля, 2013 - 17:05:52)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB