За последние 24 часа нас посетили 21973 программиста и 988 роботов. Сейчас ищет 671 программист ...

Как правильно организовать отправку из php в js

Тема в разделе "PHP для новичков", создана пользователем l_2001, 27 май 2020.

  1. l_2001

    l_2001 Активный пользователь

    С нами с:
    9 дек 2014
    Сообщения:
    59
    Симпатии:
    2
    Перерыл весь гугл, но нигде внятно не нашёл... Есть таблица построенная innerHTML... В одном из полей есть кнопка... Как правильно сделать, чтобы по onclick по этой кнопке отправить содержимое пары переменных из таблицы в js, как переменные? Заранее спасибо!

    $innerHTML.="<td align='center'><button type='button' <form method=\"POST\" id=\"formx\" action=\"javascript:void(null);\" onclick=\"call('$arr[4]', $arr[5])\">Check</button></td>";

    такое вызывает ошибку в js
     
  2. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Ты что вы показали это html. У вас очень сильное непонимание как все работает. Форма обычно используется чтобы отправить на php. На js ничего нельзя отправить. Он сам забирает то что нужно.
    --- Добавлено ---
    Но самое интересное. Вы названии переменную innerHTML. Почему?)
     
  3. l_2001

    l_2001 Активный пользователь

    С нами с:
    9 дек 2014
    Сообщения:
    59
    Симпатии:
    2
    Таблицу я строю по старинке, в php, через echo $innerHTML... Ну, так "исторически сложилось"... Теперь понадобилось при клике на button слазить в другой скрипт, получить ответ true or false и, в зависимости от ответа, вывести простой alert... До этого я с js не связывался, ну не моё это :( А теперь мне понадобилось вывести alert без перезагрузки страницы... Как сформировать строку, которая передаст две переменные в скрипт - ну никак не получается :( Если я передаю просто данные формы (из примеров), то всё работает, а вот как это организовать в скрипте - ну никак :(
     
  4. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    вывод html сделайте таким
    PHP:
    1. $innerHTML.="<td align='center'><button type='button'  id='formx'  data1='{$arr[4]}' data2='{$arr[5]}' >Check</button></td>";
    Потом ниже выведите скрип
    Код (Javascript):
    1. var formx = document.querySelector("#formx"),
    2.   data1 = formx.getAttribute("data1"),
    3.   data2 = formx.getAttribute("data2");
    Вот в этих переменных будут значения твои.
    Про нажатие кнопки почитай, сам сделай.
     
  5. l_2001

    l_2001 Активный пользователь

    С нами с:
    9 дек 2014
    Сообщения:
    59
    Симпатии:
    2
    Я пробовал и так, ну, почти так, но вывод ответа происходит в новой вкладке... Да, конечному юзеру это не особо важно, ну, кликнет на "закрыть вкладку", только это не совсем правильно... Я чего и связался с js, чтобы по клику уходили переменные в скрипт, там проверка, а юзеру только выхлоп алертом - валид или не валид... По любому - спасибо!
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
    .
     

    Вложения:

    • php.zip
      Размер файла:
      951 байт
      Просмотров:
      7
  7. l_2001

    l_2001 Активный пользователь

    С нами с:
    9 дек 2014
    Сообщения:
    59
    Симпатии:
    2
    Всем спасибо! Таки разобрался! Работает... Чувствую себя гордым :)
     
  8. l_2001

    l_2001 Активный пользователь

    С нами с:
    9 дек 2014
    Сообщения:
    59
    Симпатии:
    2
    Всем спасибо! Таки разобрался! Работает... Чувствую себя гордым :)
    Может таким, как и я поможет!
    Итак - отправка:
    $innerHTML.="<td align='center'><button type='button' id='formx' onclick=\"f(data1='{$arr[4]}', data2='{$arr[5]}', id);\">Check</button></td>";

    Получение и отработка:
    function f(data1, data2){
    $.ajax({
    type: "GET",
    url: "check.php?data1=" + data1 + "&data2=" + data2,
    dataType:'JSON',
    success: function(response){
    console.log(response.msg);
    alert(response.msg);
    // put on console what server sent back...
    },
    error: function(response) {
    console.log(response.msg);
    alert('Нет данных!');
    }
    });
    }
    Дальше - зависит от вашей фантазии!
     
  9. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
    Дальше - жопа и костыли с неправильным пониманием синтаксиса (основ "как пишутся переменные и т.д.")
     
  10. l_2001

    l_2001 Активный пользователь

    С нами с:
    9 дек 2014
    Сообщения:
    59
    Симпатии:
    2
    Может быть Вы и правы! Но, тем не менее, "это" работает и работает неплохо! И, что главное, работает так, как нужно мне и пользователям!
     
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
    FacePalm говнокод(с)
     
  12. l_2001

    l_2001 Активный пользователь

    С нами с:
    9 дек 2014
    Сообщения:
    59
    Симпатии:
    2
    Уважаемый MouseZver, я понимаю Ваше возмущение, но, если Вы не читали с начала, то я повторюсь - мне js чужд! Я старый, по всем показателям, и то, что мне всё-же удалось, вообще без подобных знаний, то для меня это реально есть чем гордиться! Дальше - на Вашей совести :) И вот ещё что... На подобное решение меня подтолкнула статья на хабре и никто там над подобным вопросом не стебался... Но это так...
     
  13. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
    у вас не js - держу в курсе
     
  14. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    @MouseZver чего ты докопался, работает и хер с ним)
     
  15. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
    тупая рашка
     
  16. l_2001

    l_2001 Активный пользователь

    С нами с:
    9 дек 2014
    Сообщения:
    59
    Симпатии:
    2
    Може бути вона й дійсно тупа, але ж не уся! Давайте не станемо усіх расіян чесати під путіна! Будь ласка!
     
  17. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
    облом - укр не знаю.
     
  18. l_2001

    l_2001 Активный пользователь

    С нами с:
    9 дек 2014
    Сообщения:
    59
    Симпатии:
    2
    Не хочется "засирать" форум, но, позвольте ответить, я знаю 4 языка, способен писать и говорить на них! Но я ни разу не оскорблял нацию! Не смотря на то, что раисся ведёт войну с моей страной, с Украиной, я продолжаю с уважением относиться к тем людям, из России, которые толерантны к Украине! Чего и Вам желаю! А в остальном, пусть это и не js, как Вы говорите, мой скрипт работает, конечный юзер доволен! Это главное!
     
    romach нравится это.
  19. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
    Я пишу про менталитет, причем тут война и Украина ?