- renderAjax не смог вернуть данные
- 1 ответ
- Yii Framework
- renderAjax инициализация скриптов
- renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Yii Framework
- renderAjax инициализация скриптов
- renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Re: renderAjax инициализация скриптов
- Select2 JS variables not included in response to an AJAX request when using renderAjax() #211
- Comments
- arturszulc commented May 2, 2017
- Yii2 renderAjax() clientSide validation doesn’t work #10754
- Comments
- Alijon commented Feb 4, 2016
- dynasource commented Feb 4, 2016
- Alijon commented Feb 5, 2016
- 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
Источник