Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ajax+PHP Страна->Регион->Город->Район 
:(
    Опции темы
Zmiuko
Дата 23.3.2009, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


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

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



Суть вопроса вот в чем:

есть ajax-скрипт 

Код

var form, user_country, user_city;
function getData( file, obj ){
 retFunc( "null=Ждите, идёт загрузка!!.", obj );
 obj.disabled = true;
 new Ajax.Request( file ,   {
    method: 'get', 
    onSuccess:
   function(transport){
    retFunc( transport.responseText || false, obj );
   },
    onFailure:
   function(){
    retFunc( false, obj );
   }
    }
 );
}
function init(){
 form    = document.forms.main;
 user_country    = form.user_country;
 user_city    = form.user_city;
 getData( "./db/country.dat", user_country );
 user_country.onchange = function(){
    var sel = this.options[ this.selectedIndex ].value;
    if( sel != "null" ){
   getData( "./db/country/" + sel + ".dat", user_city );
    }
    else{
   retFunc( "null=Выберите страну!", user_city );
   user_city.disabled = true;
    }
 }
}
function retFunc( data, obj ){
 var i, opt;
 obj.innerHTML = "";
 if( data ){
    obj.disabled = false;
    data = data.split( "\r\n" );
    for( i = 0; i < data.length; i++ ){
   opt = data[ i ].split( "=" );
   obj.options[ obj.options.length ] = new Option( opt[ 1 ], opt[ 0 ] );
    }
 }
 else{
    obj.options[ 0 ] = new Option( "Не удалось получить информацию.", "null" );
 }
}


и есть пых-скрипт:

Код

 есно "<center><form action=?mod=reg name=\"main\" method=POST><table border=0 cellpadding=3 cellspacing=0>
 <tr><td><font size=1><b>* Имя</b></font></td><td><input type=text name=user_name size=40></td></tr>
 <tr><td><font size=1><b>* Пароль</b></font></td><td><input type=password name=user_pass size=40></td></tr>
 <tr><td><font size=1><b>* Повторите пароль</b></font></td><td><input type=password name=user_pass2 size=40></td></tr>
 <tr><td><font size=1><b>* E-mail</b></font></td><td><input type=text name=user_email size=40></td></tr>
 <tr><td><font size=1><b>Скрыть e-mail</b></font></td><td><input type=checkbox name=user_view></td></tr>
 <tr><td><font size=1><b>Возраст</b></font></td><td><input type=text name=user_age size=40></td></tr>
 <tr><td><font size=1><b>* Город</b></font></td><td><select name=\"user_country\" disabled=true><option name=\"null\">Ждите, идёт загрузка.</option></select></td></tr>
 <tr><td><font size=1><b>* Город</b></font></td><td><select name=\"user_city\" disabled=true><option name=\"null\">Выберите страну!</option></select></td></tr>
 <tr><td><font size=1><b>Сайт</b></font></td><td><input type=text name=user_url size=40></td></tr>
 <tr><td><font size=1><b>Icq</b></font></td><td><input type=text name=user_icq size=40></td></tr>
 <tr><td><font size=1><b>О себе</b></font></td><td><textarea name=user_osebe rows=7 cols=40></textarea></td></tr>
 <tr><td></td><td><input type=submit value=Зарегистрироваться></td></tr>
 </table></center></form>
 <script type=\"text/javascript\">
 <!-- //
    init();
 // -->
</script>
 ";


База, RU.DAT:

null=Выберите страну
ru=Россия
ua=Украина


База, файл RU.DAT:

null=Выберите город
1=Москва
2=Санкт-Петербург
3=Архангельск
4=Астрахань
5=Бристоль 
и т.д.





Проблемка простая... выбираем страну - выпадает список городов... Не могу проделать чтобы если город другой - вписать свой собственный и чтобы тот сохранился в базе. Кроме того лишние поля Регион и Район + до "победного".
PM MAIL WWW ICQ Skype Jabber   Вверх
Zmiuko
Дата 24.3.2009, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


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

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



Неоходима реализация создания новых полей. Ну допустим не останавливаюсь я на Страна->Город, а мне от города необходимо подгрузить его районы и так далее..

И если города нет в списке - то написать свой. Список выпадающий-то я реализовал, а вот чтобы он не просто выпадывал, а туда можно было вписывать и по вписываемому выпадали города.

Допустим выбираем Россию - грузится база городов России. Затем в открывшимся поле вписываем 'Н' выпадает Норильск, Новгород, Новороссийск, Новосибирск. Продолжаем вписывать.. "Нов..." выпадающий список сокращается и в нем остается Новороссийск и Новосибирск... и т.д.
PM MAIL WWW ICQ Skype Jabber   Вверх
Zmiuko
Дата 24.3.2009, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


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

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



Ни у кого нет примеров подобной реализации?
PM MAIL WWW ICQ Skype Jabber   Вверх
awers
Дата 24.3.2009, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

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



Zmiuko, удивительные вопросы, для человека который хочет написать класс для работы с файловой бд.


таблица "города"

fk_id (int autoincrement)
fk_parent_id (int)
fc_name (tinytext)

На onChange ходишь аяксом и проверяешь, есть ли childs у этого элемента. Нету - форма заполнена, есть - выбераем из базы где fk_parent_id = элемент.fk_id. Элементарно же

Добавлено через 1 минуту и 44 секунды
Цитата(Zmiuko @  24.3.2009,  10:13 Найти цитируемый пост)
Допустим выбираем Россию - грузится база городов России. Затем в открывшимся поле вписываем 'Н' выпадает Норильск, Новгород, Новороссийск, Новосибирск. Продолжаем вписывать.. "Нов..." выпадающий список сокращается и в нем остается Новороссийск и Новосибирск... и т.д.

Опять изобретаем велосипед? jQuery.autocomplete в руки и экономия дня работы в кармане. Всё уже давно реализовано и сделано
PM MAIL WWW ICQ Skype   Вверх
Zmiuko
  Дата 24.3.2009, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


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

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



Спасибо smile

Так я библиотеку jQuery и использую smile

А что касается удивительных вопросов - то просто я ajax еще не садился учить. 
PM MAIL WWW ICQ Skype Jabber   Вверх
awers
Дата 24.3.2009, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

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



Zmiuko, а аякс то тут причём и примитивные деревья n-ой вложености
PM MAIL WWW ICQ Skype   Вверх
Zmiuko
  Дата 24.3.2009, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


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

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



 smile я вапще как-то по js дубок.
PM MAIL WWW ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




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


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

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