Yii2 renderajax не работает js

Содержание
  1. renderAjax не смог вернуть данные
  2. 1 ответ
  3. Yii Framework
  4. renderAjax инициализация скриптов
  5. renderAjax инициализация скриптов
  6. Re: renderAjax инициализация скриптов
  7. Re: renderAjax инициализация скриптов
  8. Re: renderAjax инициализация скриптов
  9. Re: renderAjax инициализация скриптов
  10. Re: renderAjax инициализация скриптов
  11. Re: renderAjax инициализация скриптов
  12. Re: renderAjax инициализация скриптов
  13. Re: renderAjax инициализация скриптов
  14. Re: renderAjax инициализация скриптов
  15. Re: renderAjax инициализация скриптов
  16. Re: renderAjax инициализация скриптов
  17. Re: renderAjax инициализация скриптов
  18. Re: renderAjax инициализация скриптов
  19. Re: renderAjax инициализация скриптов
  20. Re: renderAjax инициализация скриптов
  21. Re: renderAjax инициализация скриптов
  22. Re: renderAjax инициализация скриптов
  23. Yii Framework
  24. renderAjax инициализация скриптов
  25. renderAjax инициализация скриптов
  26. Re: renderAjax инициализация скриптов
  27. Re: renderAjax инициализация скриптов
  28. Re: renderAjax инициализация скриптов
  29. Re: renderAjax инициализация скриптов
  30. Re: renderAjax инициализация скриптов
  31. Re: renderAjax инициализация скриптов
  32. Re: renderAjax инициализация скриптов
  33. Re: renderAjax инициализация скриптов
  34. Re: renderAjax инициализация скриптов
  35. Re: renderAjax инициализация скриптов
  36. Re: renderAjax инициализация скриптов
  37. Re: renderAjax инициализация скриптов
  38. Re: renderAjax инициализация скриптов
  39. Re: renderAjax инициализация скриптов
  40. Re: renderAjax инициализация скриптов
  41. Re: renderAjax инициализация скриптов
  42. Re: renderAjax инициализация скриптов
  43. Select2 JS variables not included in response to an AJAX request when using renderAjax() #211
  44. Comments
  45. arturszulc commented May 2, 2017
  46. Yii2 renderAjax() clientSide validation doesn’t work #10754
  47. Comments
  48. Alijon commented Feb 4, 2016
  49. dynasource commented Feb 4, 2016
  50. Alijon commented Feb 5, 2016
  51. SilverFire commented Feb 5, 2016

renderAjax не смог вернуть данные

Я делал это в прошлом году, и он отлично работает. До недавнего времени я сталкивался с этой проблемой, но не знаю, что ее вызвало.

Здесь я пытаюсь передать supplierID из (1) формы через (2) ajax javascript и вернуть (3) данные из AdminController в (4) div в том же представлении

(1) форма : —

И вот мой (2) javascript , работающий в том же представлении: —

(3) div с в том же представлении

(4) actionChatinfo2pass в AdminController

Но он возвращает «одинаковый» идентификатор поставщика для обоих поставщиков, как показано ниже:

И консоль браузера выдает мне эту ошибку? (обновлено) : —

Кстати, это содержимое displaychatmessage.php (я просто пытаюсь отобразить supllierID и их имя)

Ты можешь помочь мне с этим? Я не знаю, где что-то пошло не так.

1 ответ

Как вы упомянули, вы получаете одинаковый supplierID при нажатии на обоих поставщиков. Эта проблема вызвана тем, что в вашем js-коде вы получаете supplierID по идентификатору ввода, то есть ‘#supplierID’ , и в соответствии с вашим html-кодом элементы ввода обоих поставщиков имеют одинаковое значение в их атрибуте id. т.е. «supplierID», из-за этого каждый раз js будет получать значение из первого входного элемента со значением атрибута id «supplierID». Поэтому вам нужно внести некоторые изменения в свой html- и js-код. Поскольку существует отдельная кнопка редактирования для каждого поставщика, поэтому вместо использования ввода для хранения значения supplierID вы можете сохранить его в атрибуте данных на кнопке редактирования. Итак, ваш обновленный html-код станет

Читайте также:  Как починить туалет если течет вода при смывании

А затем получите supplierID поставщика, на который нажали, из атрибута данных кнопки в js. Итак, ваш js-код станет

Источник

Yii Framework

renderAjax инициализация скриптов

renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 12:47

Имеется кнопка, по нажатию на которую отправляется ajax-запрос и возвращается виджет Editable, который должен добавиться на страницу

Упрощённо представим это так

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 13:55

Re: renderAjax инициализация скриптов

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 14:21

Re: renderAjax инициализация скриптов

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 14:29

Re: renderAjax инициализация скриптов

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 15:09

У виджетов все скрипты перенес в head. Но не сработало((

PS. Кстати, проверил, что если в подвале объявлена функция, то она прекрасно вызывается в приходящем ajax-ответе.

Re: renderAjax инициализация скриптов

Сообщение Veysman » 2015.01.22, 15:21

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 15:22

Re: renderAjax инициализация скриптов

Сообщение Veysman » 2015.01.22, 15:35

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 15:37

Re: renderAjax инициализация скриптов

Сообщение Veysman » 2015.01.22, 15:38

Re: renderAjax инициализация скриптов

Сообщение Veysman » 2015.01.22, 15:40

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 15:42

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 15:43

Re: renderAjax инициализация скриптов

Сообщение Veysman » 2015.01.22, 15:45

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 15:47

Если вы про виджет говорите, то он из композера, не хотелось бы его изменять. Я подумал вы имеете ввиду кнопку, которой я ajax-Запрос отправляю.

И да, у меня на странице этот виджет присутствует в других местах еще до того, как я пытаюсь получать его через ajax. Т.е.все скрипты подгружены изначально.

Читайте также:  Как настроить телевизор триколор сибирь

Источник

Yii Framework

renderAjax инициализация скриптов

renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 12:47

Имеется кнопка, по нажатию на которую отправляется ajax-запрос и возвращается виджет Editable, который должен добавиться на страницу

Упрощённо представим это так

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 13:55

Re: renderAjax инициализация скриптов

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 14:21

Re: renderAjax инициализация скриптов

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 14:29

Re: renderAjax инициализация скриптов

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 15:09

У виджетов все скрипты перенес в head. Но не сработало((

PS. Кстати, проверил, что если в подвале объявлена функция, то она прекрасно вызывается в приходящем ajax-ответе.

Re: renderAjax инициализация скриптов

Сообщение Veysman » 2015.01.22, 15:21

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 15:22

Re: renderAjax инициализация скриптов

Сообщение Veysman » 2015.01.22, 15:35

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 15:37

Re: renderAjax инициализация скриптов

Сообщение Veysman » 2015.01.22, 15:38

Re: renderAjax инициализация скриптов

Сообщение Veysman » 2015.01.22, 15:40

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 15:42

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 15:43

Re: renderAjax инициализация скриптов

Сообщение Veysman » 2015.01.22, 15:45

Re: renderAjax инициализация скриптов

Сообщение Neuromance » 2015.01.22, 15:47

Если вы про виджет говорите, то он из композера, не хотелось бы его изменять. Я подумал вы имеете ввиду кнопку, которой я ajax-Запрос отправляю.

И да, у меня на странице этот виджет присутствует в других местах еще до того, как я пытаюсь получать его через ajax. Т.е.все скрипты подгружены изначально.

Источник

Select2 JS variables not included in response to an AJAX request when using renderAjax() #211

Comments

arturszulc commented May 2, 2017

Let me explain this matter by example.

I have a page where there are 4 static Select2 widgets and all of them use specific configuration arrays in the head section of the page:

On the same page I have a button which sends an AJAX request to a controller, that renders some additional inputs with its own Select2 configuration array.
In the controller action code I am using renderAjax() call to render view. When I preview the raw response from the controller I see:

Reply from controller contains also an initialization script, as follows:

Читайте также:  Энергосберегающая лампочка сгорела как починить

The problem is that widget init script is properly returned, however variable select2_6059d464 does not exists anywhere and is not returned in response to the AJAX request. Therefore select2 widget associated with that variable is not loading.
So when you look at the JavaScript console you see:

As you can see, builtin Masked Input widget returns its own configuration array and therefore is properly rendered when using renderAjax() .

And similar, when there is no static Select2 widgets on page, so no s2options_7ebc6538 variable would exist — an additional error will be raised.

The solution is to register these variables and return them when using renderAjax() .

Would you kindly look into this?

The text was updated successfully, but these errors were encountered:

Источник

Yii2 renderAjax() clientSide validation doesn’t work #10754

Comments

Alijon commented Feb 4, 2016

I have a form. I want to render part of form parametrs with ajax, when selected category
Controller.php

_form.php

Controllers action render params

_params.php

ActiveForm attributes validation work, but rendered params doesn’t validated.

The text was updated successfully, but these errors were encountered:

dynasource commented Feb 4, 2016

hi Alijon, nice to see you are using Yii for your project. Please keep in mind that this is an issue tracker which is meant for issues only. I dont think you want to disturb the Yii core developers with support questions right?

With respect to your issue. Perhabs its because you are not rendering the output of $this->renderAjax by either :

  • return $this->renderAjax()
  • or echo $this->renderAjax()

Alijon commented Feb 5, 2016

Thank you for your answer. I added echo

Client side validation works only for activeForm fields but rendered params not validated with js.

SilverFire commented Feb 5, 2016

That’s because the client side validation does not know anything about your new field and its validation rules. You must register each field with JS function.

Options is an array, its design is defined in yii.activeForm.js and is normally generated by ActiveFiled::getClientOptions().

The tricky thing for you is that you have ActiveForm in order to render ActiveField , but ActiveForm will echo unnecessary for you

Источник

Оцените статью