Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получить значение поля hidden, Проблемма в IE. (остальные браузеры ОК) 
:(
    Опции темы
SnAKEen
  Дата 29.4.2010, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 13.7.2007

Репутация: нет
Всего: нет



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

Код

    function get_field_gf(form){
        var tmp,el;tmp='';
        for(i=0;el=form.elements[i];i++)
            if(el.name != "asp_gf_cont")
            if(el.name.substr(0,6)=="asp_gf")
                if (el.type=="checkbox" && el.checked)
                    tmp=tmp+'&'+el.name+'='+el.value;
                else if (el.type=="radio" && el.checked)
                    tmp=tmp+'&'+el.name+'='+el.value;
                else if (el.type=="text")
                    tmp=tmp+'&'+el.name+'='+el.value;
                else if (el.type=="hidden")
                    tmp=tmp+'&'+el.name+'='+el.value;
        return tmp;
 smile 

проблема в том что эксплорер не хочет получать значения поля hidden. он говорит что "объект не поддерживает это свойство или метод"
все остальные браузеры хавают это дело на ура!..

Вот такой вот трабл.. кто что посоветует??
PM MAIL   Вверх
bars80080
Дата 29.4.2010, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



покажите код формы, которую он оббегает
PM MAIL WWW   Вверх
SnAKEen
  Дата 29.4.2010, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 13.7.2007

Репутация: нет
Всего: нет



Код

<form action="/index.php?action=post2;start=0;board=2" method="post" accept-charset="UTF-8" name="postmodify" id="postmodify" onsubmit="submitonce(this);smc_saveEntities('postmodify', ['subject', 'message', 'guestname', 'evtitle', 'question'], 'options');" enctype="multipart/form-data">
...
...
...
Выберите галерею: <span id="asp_loading_gf" style="display: none;">&nbsp;&nbsp;&nbsp;
<img src="/Themes/default/images/ajax-loader_red.gif" /></span></h2>
<input id="asp_ngf_but_del_1" value="[-] Test (90)" class="button_submit_red" type="button">&nbsp;&nbsp;&nbsp;
<input id="asp_ngf_but_add_4" value="[+] test1 (3)" class="button_submit" type="button">&nbsp;&nbsp;&nbsp;
<input id="asp_ngf_but_add_5" value="[+] aaaa (5)" class="button_submit" type="button">&nbsp;&nbsp;&nbsp;<br />
<table><tbody><tr><td align="left" valign="top"><hr />
<input name="asp_gf_id_gallery[1]" value="0" type="hidden" />
<b>Галерея: Тест</b><hr />
<img src="/index.php?action=media;sa=media;in=12;thumb" width="25" />
<img src="/index.php?action=media;sa=media;in=11;thumb" width="25" />
<img src="/index.php?action=media;sa=media;in=10;thumb" width="25" />
<img src="/index.php?action=media;sa=media;in=9;thumb" width="25" />
<img src="/index.php?action=media;sa=media;in=8;thumb" width="25" /><br />
<img src="/index.php?action=media;sa=media;in=7;thumb" width="25" />
<img src="/index.php?action=media;sa=media;in=13;thumb" width="25" />
<img src="/index.php?action=media;sa=media;in=14;thumb" width="25" />
<img src="/index.php?action=media;sa=media;in=15;thumb" width="25" />
<img src="/index.php?action=media;sa=media;in=16;thumb" width="25" /><hr />
<b>Название формы:</b> <br />
<input name="asp_gf_name[1]" value="" type="text" /> <br />
<b>Минимальная сумма:</b> <br />
<input name="asp_gf_minsumm[1]" value="" type="text" /><br />
<b>Адрес сайта:</b> <br /><input name="asp_gf_url[1]" value="" type="text"><br>
<b>Способ оплаты:</b><br />
<label for="asp_gf_pay[1]_0"><input value="0" name="asp_gf_pay[1]" id="asp_gf_pay[1]_0" checked="checked" type="radio" />
Постоплата 16%</label><br />

<label for="asp_gf_pay[1]_1"><input value="1" name="asp_gf_pay[1]" id="asp_gf_pay[1]_1" type="radio" />
Предоплата 11%</label></td></tr></tbody></table>
...
...
...
</form>

<script>
        $(document).ready(function(){
        $('input#asp_gf_but_add_4').click(function(){ 
            $("#asp_loading_gf").show();
            var tmp_var;
            tmp_var = get_field_gf(this.form);
            $('div#asp_gf_form').load('/asp/gallery_form.php?asp_gf_show_in_editor=&asp_gf_cont=1'+tmp_var);
        }); 
</script>

<script>
    function get_field_gf(form){
        var tmp,el;tmp='';
        for(i=0;el=form.elements[i];i++)
            if(el.name != "asp_gf_cont")
            if(el.name.substr(0,6)=="asp_gf")
                if (el.type=="checkbox" && el.checked)
                    tmp=tmp+'&'+el.name+'='+el.value;
                else if (el.type=="radio" && el.checked)
                    tmp=tmp+'&'+el.name+'='+el.value;
                else if (el.type=="text")
                    tmp=tmp+'&'+el.name+'='+el.value;
                else if (el.type=="hidden")
                    tmp=tmp+'&'+el.name+'='+el.value;
        return tmp;
</script>


 smile 

Вот такой кусок кода...

Это сообщение отредактировал(а) SnAKEen - 29.4.2010, 22:59
PM MAIL   Вверх
EmilRegis
Дата 30.4.2010, 05:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 306
Регистрация: 21.9.2007

Репутация: 1
Всего: 4



дак тут наверное дело не в хиддене, а в квадратных скобках
PM MAIL   Вверх
ksnk
Дата 30.4.2010, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



SnAKEen, у jquery есть метод serialize, который может собрать все поля формы в url-кодированную строку. Другое дело, что он не может фильтровать именно те поля, которые  нужны ('asp_gf*'), хотя на этом примере все и так работает примерно как надо.
Код

function get_field_gf(form){ return $(form).serialize() ;}


Еще забавная фенечка - после исправления кое-каких скобок и вывода тестовой кнопки я не смог увидеть проблем в IE. Какая версия его используется?




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
SnAKEen
Дата 30.4.2010, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 13.7.2007

Репутация: нет
Всего: нет



ksnk
версия 8, с совместимостью 7.0(и без неё) у меня win7 на всех ПК... сеня попробую под ВМ еще запустить какой-нить старый браузер но сомневаюсь что это что-то изменит...

 smile Спасибо за идею попробую её покурить smile Если мой способ так и не заработает то прикручу её...
(Хотя воспользоваться ею наверно будет лучше, ибо она сома наверно избавляется от пробелов и прочей лабуды, а сейчас мне приходиться вручную эти символы подменять smile

EmilRegis
Сильно сомневаюсь.
Если это переделать:
Код

                else if (el.type=="hidden")
                    tmp=tmp+'&'+el.name+'='+el.value;


вот в это
Код

                else if (el.type=="hidden")
                    tmp=tmp+'&'+el.name+'=';



то ни каких ошибок не возникает, все имена форм передаются как положено только ессно без значений...

Это сообщение отредактировал(а) SnAKEen - 30.4.2010, 09:52
PM MAIL   Вверх
ksnk
Дата 30.4.2010, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



SnAKEen, win7 у меня нет :( IE8 смотрю на эмуляторе (IE Tester) проблем с hidden полями все еще не вижу. Может в 8-ке что-то намудрили с запретами? 
Попробуй посмотреть - открутить праметры защиты именно для нужного адреса. если проблема уйдет - понятно в кого нужно тыкать пальцем... 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
SnAKEen
Дата 30.4.2010, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 13.7.2007

Репутация: нет
Всего: нет



В общем ребяты, всем спасибо..

думаю что вопрос свой снимаю, с недавнего времени експлорер стал обрабатывать данные с hidden форм, правда все равно нестабильно, (кнопки которые присутствуют в приведенном коде, скрывают и показывают дополнительные поля для заполнения) если по этим кнопкам щелкать туда сюда, рано или поздно эксплорер отказывается принять данные из hidden..

Попробую еще раз как следует покурить свой пхп код, мож я там чего не заметил...
Но почему тогда (Хром, Мозила и Опера, отрабатывают все без единой ошибки)? данные изо всех полей пишутся в базу на 100% В общем буду смотреть, о результатах отпишусь...

 smile 
PM MAIL   Вверх
SnAKEen
  Дата 12.5.2010, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 13.7.2007

Репутация: нет
Всего: нет



В общем рапортую, никакой проблемы в ИЕ с ХИДДЕН полями нет.

Оказалось что в одну из форм через АЯКС у меня подгружалась вместе с данными и библиотека jquery (неоднократно) и эксплорер этого схавать не мог.
А от выше изложенного способа я всеже отказался в пользу предложенной ksnk функции $(form).serialize() 

В общем всем Спасибо, и совет: проверяйте свой код как следует, прежде чем что-то спросить.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0742 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.