Форум программистов, компьютерный форум, киберфорум
Наши страницы
jQuery
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.90/10: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Last
0 / 0 / 0
Регистрация: 05.09.2011
Сообщений: 11
1

Подгрузка полей формы, без перезагрузки с помощью jQuery

10.11.2011, 16:23. Просмотров 1738. Ответов 2
Метки нет (Все метки)

Ситуация следующая.
Ранее ситуация была следующей:
HTML5
1
2
3
4
5
6
7
8
9
10
<div>
        <select id='main_select' class='required' name='category_choose' onchange="jumpmenu('parent',this)">
         <option value='#' selected=selected>-- Выберите категорию--</option>
             <option value="link_A" >А категория</option>
         <option value="link_Б" >Б категория</option>
         <option value="link_B" >В категория</option>
       </select>
</div>
<form action="/index.php?option=component&amp;task=save&amp;Itemid=363" method="post" name="adminForm" enctype="multipart/form-data" onsubmit="return submitbutton(this)">
        <input type='hidden' name='category' value='0' />
Javascript
1
2
3
4
function jumpmenu(target,obj,restore){
      eval(target+".location='"+obj.options[obj.selectedIndex].value+"'");  
      obj.options[obj.selectedIndex].innerHTML="Пожалуйста подождите ...";
}
Все хорошо, вот только, происходит перезагрузка страницы при смене категории. Теперь надо сделать так чтобы не происходила перезагрузка страницы, а ниже selecta выводились поля категорий.
Мною был срублено вот такое создание на jquery.
Java
1
2
3
4
5
6
7
8
9
10
11
$(document).ready(function()
     {
          $('#main_select').change(function(){
          var spcVal = '{'+$('#main_select option:selected').val()+'}';
          $.post('index.php',
                    spcVal,
                    function(data){
                          $('#mainInner').html(data);
                    });
          })
     });
Мягко говоря, оно работает не так. происходит подгрузка всей страницы в <div id="mainInner">, что не есть хорошо. Скрывать (display, visibility) поля нельзя, т.к. это было основным условием. Как мне кажется тут два пути: 1) подгрузить страницу и из неё выдрать нужный мне div или 2) на jquery написать обработчик полей, т.е. запрос в БД и построения поля по его типу. Оба пути для меня неведомы, ввиду моей первой встречи с jquery в таком ключе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2011, 16:23
Ответы с готовыми решениями:

Ajax подгрузка без перезагрузки
Здравствуйте! Подскажите пожалуйста в моей проблеме. Есть скрипт: ...

Подгрузка данных без перезагрузки страницы
Приветствую. Есть файл php который из БД вынимает данные и формирует код html...

Подгрузка контента из файла без перезагрузки страницы
С js у меня терки давние, все никак не соберусь его поучить... Есть такой...

Подгрузка результатов поиска без перезагрузки страницы
Учу PHP путём создания сайтов. Написал скрипт который вытаскивает из БД...

Меню jquery и сайт без перезагрузки.
Здравствуйте! Есть вот такой код. &lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML...

2
Schtrich
weboman
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
14.11.2011, 01:39 2
смотря на сколько кардинально вам вообще нужно страницу изменять при select option, если просто вытащить какую-нть инфу из БД, и вставить ее в нужный div-(элемент/блок), то это аяксом делается, а если инфа находится на удаленной странице, то через регулярки, но по моему вам 1-ый вариант подходит, можно же удалять,вставлять,копировать элементы DOM их их содержание, при этом ни перезагружая страницу.
0
Last
0 / 0 / 0
Регистрация: 05.09.2011
Сообщений: 11
14.11.2011, 09:35  [ТС] 3
Видимо я пошел вторым путем.....
Java
1
2
3
4
5
6
7
$(function (){
                                $('#main_select').live('change',function() {
                                var spcVal = $('#main_select_1 option:selected').val();
                                $.post(spcVal,function(data, textStatus){$('#jv-component').html($('#jv-component', data));},'html');
 
                            if (typeof(submitbutton) == 'function') submitbutton(mfrm);
                         });
Т.е. вырезаю нужный <div> все хорошо, но теперь ни один скрипт обработчик формы (валидатор и отправщик) не работает. До работы с БД я еще не дочитал.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2011, 09:35

Калькулятор php + без перезагрузки jquery
Калькулятор php + без перезагрузки jquery Здравствуйте... Нуждаюсь в помощи...

Выполнение jQuery после сабмита формы(перезагрузки страницы)
У меня есть форма регистрации, которая при сабмите отправляет данные на сервер...

Нужен пример jquery формы c валидацией полей
Всем привет! Только начал изучать jQuery и сразу столкнулся с трудностями...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru