Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.01.2018, 07:56
Аспирант
Отправить личное сообщение для olegalimov Посмотреть профиль Найти все сообщения от olegalimov
 
Регистрация: 27.09.2015
Сообщений: 94

Как вытащит значения строки массива и внести новою форму?
Доброе время суток.
У меня php скрипт по получению списка записей с SOAP-сервере.
Записи получаю виде формирования таблицы в массиве цикле.
Вот кусок php
//Успешно получили список записей с SOAP-сервера.
echo "<form id='myForm' method='post' style='display:inline;'><table class='info'><tr><td><h1>Существующие записи в доменном имени $namedomain</h1></td></tr><tr><td><table class='info_2'><tr><td>N</td><td class='number_id'>ID *</td><td>Действие</td><td>Хост</td><td>Тип записи</td><td>Приоритет</td><td>Вес</td>
<td>Порт</td><td style='width:200px'>Значение</td><td>Алгоритм</td><td>Приведение типа</td><td>Комментарий</td></tr>";
foreach($getrrrecord->data as $key =>$record)
  {
  echo"<tr class='$record->id' name='domain_id'><td>".($key+1)."</td>
  <td><span class='number_id'>".$record->id."</span></td>
  <td><button id='butt_cler' name='submitData'>Удалить</button></td>
  <td>".$record->owner."</td>
  <td>".$record->type_record."</td>
  <td>".$record->pri."</td>
  <td>".$record->weight."</td>
  <td>".$record->port."</td>
  <td class='td_value'>".$record->data."</td>
  <td>".$record->sshfp_algorithm."</td>
  <td>".$record->sshfp_type."</td>
  <td>".$record->info."</td></tr>";
  }
echo '</table></td></tr></table></form>';


Мне нужно при клике по кнопке вывести проверочную форму на удаления записи домена со значениями строки где была нажата кнопка.
В проверочной форме должны быть
<form class='forma_3' action='soap_action_deleterrrecord.php' method='post'>
<table class='info_2'>
<tr<td></td>
<td><input type='text' name='id' value='".$record->id."'></td>
<td>".$record->owner."</td>
<td>".$record->type_record."</td>
<td>".$record->pri."</td>
<td>".$record->weight."</td>
<td>".$record->port."</td>
<td class='td_value'>".$record->data."</td>
<td>".$record->sshfp_algorithm."</td>
<td>".$record->sshfp_type."</td>
<td>".$record->info."</td>
</tr>
<input class='button' type='submit' name='deleteRrRecord' value='Удалить запись домена'>
</table></form>


Я спрашивал форумах, одни пишут что нужен ajax, другие что достаточно javascript.
Помогите пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 18.01.2018, 08:31
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,022

Для удаления нужен Ajax запрос на сервер, или где вы собираетесь удалять?

Показывать нужно HTML код, то есть просто взять результирующий со страницы без всякого РНР.
Ответить с цитированием
  #3 (permalink)  
Старый 18.01.2018, 08:49
Аспирант
Отправить личное сообщение для olegalimov Посмотреть профиль Найти все сообщения от olegalimov
 
Регистрация: 27.09.2015
Сообщений: 94

Сообщение от laimas Посмотреть сообщение
Для удаления нужен Ajax запрос на сервер, или где вы собираетесь удалять?

Показывать нужно HTML код, то есть просто взять результирующий со страницы без всякого РНР.
Мне нужно получить tr данные строки где была нажата кнопка.
и эти данные внести в появляющуюся форму.
Я собираюсь чтоб новая форма отправляла запрос на сервер.
Я не знаю ajax

Последний раз редактировалось olegalimov, 18.01.2018 в 08:51.
Ответить с цитированием
  #4 (permalink)  
Старый 18.01.2018, 08:57
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,772

Сообщение от olegalimov
Я не знаю ajax
Дык!
https://javascript.ru/ajax/intro
Ответить с цитированием
  #5 (permalink)  
Старый 18.01.2018, 08:58
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,022

Сообщение от olegalimov
Я собираюсь чтоб новая форма отправляла запрос на сервер
А зачем тогда первая форма? Вы не считаете, что довольно таки странно иметь форму в которой все и так расписано, но при этом порождать другую форму дабы что-то удалить?

К примеру, результат запроса SOAP сервера вы отдали клиенту как форму (что у вас собственно и есть), в которой клиент может что-то удалить. То есть нажатие кнопки "Удалить", это удаление этой записи из таблицы в форме. Для этого Ajax не требуется. Удалив необходимое, эта форма отправляется на сервер для сохранения.

Ни какой второй формы не требуется.

Либо, запрос SOAP сервера, это сохранение данных на сервере, и одновременно выдача клиенту формы. В этом случае можно и флажками выбрать необходимые для удаления записи и отправить форму, сервер удалит выбранное. Можно как и в первом случае удалять каждую запись в таблице/форме отдельно, но с одновременным запросом к серверу для удаления выбранного на нем.

Зачем посредники? Что за задача вообще стоит, если

У меня php скрипт по получению списка записей с SOAP-сервере.
Записи получаю виде формирования таблицы в массиве цикле.


то что за удаление?
Ответить с цитированием
  #6 (permalink)  
Старый 18.01.2018, 09:08
Аспирант
Отправить личное сообщение для olegalimov Посмотреть профиль Найти все сообщения от olegalimov
 
Регистрация: 27.09.2015
Сообщений: 94

Сообщение от ksa Посмотреть сообщение
Дык!
https://javascript.ru/ajax/intro
я не понимаю как мне получить данные строки в ajax с php?
В php что добавлять нужно?
может на кнопку повесить onclick?
Ответить с цитированием
  #7 (permalink)  
Старый 18.01.2018, 09:20
Аспирант
Отправить личное сообщение для olegalimov Посмотреть профиль Найти все сообщения от olegalimov
 
Регистрация: 27.09.2015
Сообщений: 94

Сообщение от laimas Посмотреть сообщение
А зачем тогда первая форма? Вы не считаете, что довольно таки странно иметь форму в которой все и так расписано, но при этом порождать другую форму дабы что-то удалить?
Может я неверно задаю вопрос.
зайдите на сайт http://juntik.ru/
логин olegalim@yandex.ru
пароль R0k0B7g4
далее
Доменное имя: juntik.ru
кнопка "удалить" должна родить форму для повержения удаления

Последний раз редактировалось olegalimov, 18.01.2018 в 09:23.
Ответить с цитированием
  #8 (permalink)  
Старый 18.01.2018, 09:27
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,022

Мне вход ни о чем не говорит. У вас странная логика, которую вы описали в теме - иметь две формы не понятно для чего.

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

Вы либо некорректно описали суть задачи, либо ваша логика страдает излишеством, которое ни серверу, ни клиенту не нужно.
Ответить с цитированием
  #9 (permalink)  
Старый 18.01.2018, 10:26
Аспирант
Отправить личное сообщение для olegalimov Посмотреть профиль Найти все сообщения от olegalimov
 
Регистрация: 27.09.2015
Сообщений: 94

Сообщение от laimas Посмотреть сообщение
иметь две формы не понятно для чего.
уникальный ключ этой записи.
Хочу объяснить зачем иметь две формы.
Вторая форма появляется после того как клиент нажмет кнопку удалить.
Чтоб клиент случайно не удалил запись. Разные люди бывают с разными болезнями например "Паркинсон, ДЦП"

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

Если я правильно думаю мне нужно с начала как-то получить значение строки
Я написал так но не работает
$(document).ready(function() { 
	$("#butt_cler").on("click", function(event, elem){
    $(this).closest("tr").find("td").each(function(idx, itm){
        console.log(itm);
    });
});
});
Ответить с цитированием
  #10 (permalink)  
Старый 18.01.2018, 11:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,022

Вторая форма не есть гарантия от случайного удаления, чтобы не было случайностей нужно спрашивать пользователя уверен ли он в своих действиях - cofirm-диалог.

У вас главная неразбериха в коде самой второй формы - не может быть в форме на клиенте, которая формируется по нажатию кнопки, РНР вставок.

Вы не описываете суть задачи. Предположим, что удаление, это все-таки удаление данных на сервере, которые были сохранены как данные SOAP сервера. Каждая такая запись сохранена под идентификатором - поле ID в таблице. Эти данные пользователю отдаются просто таблицей, а не формой, в которой есть кнопки "Удалить". Значениями этих кнопок являются эти идентификаторы, то есть:

<button value="'.$record->id.'">Удалить</button>


id='butt_cler' у кнопок удалено, так как id должно быть уникальным значением, да и в данном случае оно не требуется. РНР по разному интерпретирует строковые значения вставленные в одинарные и двойные кавычки. Если двойные, то он будет производить разбор строки в поисках вставленных в нее переменных. В вашем случае, это нагрузить его бесполезной работой, а поэтому выгоднее echo 'строка с атрибутами в двойных кавычках'.

Запрос на удаление:

$(function() {
    var btn = $('button').click(function() {
        if(confirm('Вы уверены, что хотите удалить ID '+this.value+'?')) {
            var bt = this;
            btn.prop('disabled', 1); //заблокировать запросы от кнопок на время запроса сервера
            $.ajax({
                //параметры запроса
                data: 'del='+this.value,
                success: function(data) {
                    btn.prop('disabled', 0); //разрешаем запросы от кнопок
                    //если сервер вернул ОК (это образно, а должен быть оговоренный параметр)
                    //то удаляем строку в таблице принадлежащей этой кнопке
                    $(bt).closest('tr').remove();
                    //иначе ошибка удаления
                }
            })
        }
    })
});


А вот что вы делаете не понять, по крайней мере логика странная.

Последний раз редактировалось laimas, 19.01.2018 в 08:10.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как найти и удалить массив из массива? FRIE Общие вопросы Javascript 8 14.03.2011 14:48
Как обрезать строку и добавить символы в середине, в зависимости от длинны строки andreyua Firefox/Mozilla 12 10.12.2010 14:44
Как вложено прятать строки таблицы? Бобр Общие вопросы Javascript 10 01.08.2010 12:57
как сделать выпадающий список, чтобы второй зависил от значения первого???? zsaz jQuery 2 16.07.2010 19:12
Можно ли как для произвольного массива создавать вызовы функций , имеющих на входе kefi Общие вопросы Javascript 3 17.04.2009 15:53