submitForm и открытие результата в новом окне

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
ZxUkr
Сообщения: 20
Зарегистрирован: 2011.11.21, 13:00

submitForm и открытие результата в новом окне

Сообщение ZxUkr » 2012.05.06, 14:29

Всё работает, вот только на старой странице переопределяется url формы

Код: Выделить всё

echo CHtml::link("Текст",'http://orthography.morphology.ru', array('submit'=>'http://orthography.morphology.ru', 'params'=>array('text'=>'js:jQuery("#TblVotes_comment").val()'), 'target'=>'_blank'));
Заглянул в исходники jquery.yii.js

Код: Выделить всё

submitForm : function (element, url, params) {
var f= $(element).parents('form')[0];
if (!f) {
   f = document.createElement('form');
   f.style.display = 'none';
   element.parentNode.appendChild(f);
   f.method = 'POST';
} 
if (typeof url == 'string' && url != '') {
   f.action = url;
} 
Зачем для отправки используется первая попавшаяся форма?
И затерается её URL?

В общем либо это баг, либо я чег-то не понял, и как тогда открыть результат в новом окне?

Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: submitForm и открытие результата в новом окне

Сообщение Ekstazi » 2012.05.07, 14:45

вообще-то берется первая из родительских форм для этого элемента. Это и есть форма в которую вложен element. Почитайте лучше про основы jquery. В коде нет ошибок. url затирается только если он не пуст. Правильнее было бы предложить поддержку target в CHtml::clientChange с опцией submit в $htmlOptions.

ZxUkr
Сообщения: 20
Зарегистрирован: 2011.11.21, 13:00

Re: submitForm и открытие результата в новом окне

Сообщение ZxUkr » 2012.05.07, 23:31

Да, про первого из родителей не досмотрел. Но что это меняет? Я явно что-то недопонимаю :)

То есть у CHtml::link параметр 'submit' не может отличаться от значения 'action' родительской формы, если я хочу что бы линк открылся в новом окне?
То есть CHtml::link является полностью зависимым от формы в которой он создан?
И ниже там же код выглядит так, будто с этим линком отправляется и вся информация родительской формы. А если там указан 100мб файл будет???

Это же бредовость какае-то...

Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: submitForm и открытие результата в новом окне

Сообщение Ekstazi » 2012.05.08, 22:26

Вы часто такие ссылки внутри формы выводите ? Я - ни разу. Там по коду видно, что если родительской формы нет, то она создается. Соответственно, вы можете использовать либо свою форму, либо автоматически созданную. Вот вам и гибкость и расширяемость. Можно вручную прописать форму с target=_blank и вложить в неё такую ссылку.

Ответить