Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   В полном отчаянье!((( (https://javascript.ru/forum/misc/18974-v-polnom-otchayane.html)

MaxD 21.07.2011 19:22

В полном отчаянье!(((
 
Почему когда я меняю поля формы, в массив POST(php) попадают только данные из тех полей, которые изначально были отображены в браузере?!

Serg_pnz 21.07.2011 20:03

Код в студию. Name всем прописаны? Не дублируются?

MaxD 21.07.2011 20:13

name прописаны всем, но они дублируются! но если они не будут дублироваться, то как мне узнать какой сегмент был выбран??

А какой код именно тебе нужен, хтмл или JS?

kobezzza 21.07.2011 20:30

Скинь код, ЖС

MaxD 21.07.2011 20:41

Вот пожалуйста!))

$('.country_sel').change(
        function()
        {
            var val_c = $(this).val();
            var name_country = 'region'+val_c;
            
            if(val_c == 0)
            {
            $('#country').hide().before($('#country_d'));
            $('#country_d').show();
           
            } 
            else if (val_c === "-1") 
            {
	            $("#region").show();
	        } 
            else {
                
                $("#"+name_country+"").show(); 
                
		}
        }
        );

MaxD 21.07.2011 20:46

А вот и хтмл! Чтобы все понятно было! А то я там кое какие корректировки внес!
<table>
<tr>
<td>
<td>
<select size="1" name="country" id="country" class="country_sel">
<option value="-1" selected="">Выберите страну</option>
<option value="0">Другая</option>
<option value="1">Россия</option>
<option value="2">Украина</option>
</select>
</td>
<td/>
</tr>
<tr>
<!--  Все области -->
<td>Область:</td>
<td>
<select id="region" size="1" name="region" class="region_sel">
<option value="-1" selected="">Выберите область</option>
<option value="0">Другой</option>
<option name="2" value="2">Волынская</option>
<option name="1" value="1">Калининград</option>
</select>

<!-- Области отсортированные в соответсвие со странами-->
<select name="region1" size="1" id="region1" class="region_sel" style="display: none;">
<option value="-1" selected="">Выберите область</option>
<option value="0">Другая</option>
<option name="1" value="1">Калининград</option>
</select>
<select name="region2" size="1" id="region2" class="region_sel" style="display: none;">
<option value="-1" selected="">Выберите область</option>
<option value="0">Другая</option>
<option name="2" value="2">Волынская</option>
</select>
</td>
<td/>
</tr>
</table>

<input type="text" name="countryi" id="country_d" style="display: none;"/>
<input type="text" name="regioni" id="region_d" style="display: none;"/>

kobezzza 21.07.2011 20:58

Цитата:

$('#country').hide().before($('#country_d'));
Что-то я не понимаю смысл этой строчкиОо зачем тут before ?

MaxD 21.07.2011 21:01

чтобы он встал в ячейку на место селекта! А если без before то он просто появляется под таблицей!
Можно его конечно вставить в в туже ячейку и не париться, будет тоже самое, наверно так и сделаю, но суть от этого не меняется!)
Основной вопрос заключается совсем в другом!

kobezzza 21.07.2011 21:11

Но ведь получается, что у тебя 2 элемента на странице с 1 ИД, что уже не верно. А где у тебя сама форма, по которой отправляется?

MaxD 21.07.2011 21:45

А где у меня 2 элемента с одним ИД???

kobezzza 21.07.2011 21:50

$('#country').hide().before($('#country_d'));

Ты вставил ещё один элемент с ИД country_d
А вот этот уже был в DOM
<input type="text" name="countryi" id="country_d" style="display: none;"/>

MaxD 21.07.2011 21:54

Всеееее, готово!)))) Крутяяяк, спасибо что навели ребят!))) Я короче просто атрибут NAME поменял на тот который я буду использовать в обработчике!))) и Все)

kobezzza 21.07.2011 21:55

Поздравляю)

MaxD 21.07.2011 21:59

Только вот опять старая проблемка с запоминанием предыдущего значения NAME, потому что если пользователь несколько раз в одном и том же селекте будет выбирать значения, то будет опять же несколько полей с одинаковым NAME!

MaxD 21.07.2011 22:00

Как бы сделать чтобы такого пользователь не делал!))) Ну или надо что-то придумать с возвращением NAME в исходное значение!

kobezzza 21.07.2011 22:11

Делай через jQuery data как я тебе говорил и будет тебе счастье)

MaxD 21.07.2011 23:37

Ок, надо над этой функцией посидеть))) Ого какую ты себе аватарку поставил, решил всех запугать?!))

kobezzza 21.07.2011 23:39

Цитата:

Ого какую ты себе аватарку поставил, решил всех запугать?!))
Такое лицо у меня было, когда я принимал экзамен у своих студентов в универе:haha:


Часовой пояс GMT +3, время: 13:04.