Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обработка формы перед отправкой (https://javascript.ru/forum/misc/46796-obrabotka-formy-pered-otpravkojj.html)

KlausKater 24.04.2014 14:05

Обработка формы перед отправкой
 
Здравствуйте, есть не очень умный вопрос )
Есть форма, как обработать ее данные перед отправкой? Добавить что то свое, отредактировать то что ввел пользователь, и отправить исправленный вариант по стандартному action.
Есть функция submit, которая вызывается перед отправкой, но как там править данные формы, я не понимаю.
В моем случае, нужно пробежать по определенным полям формы, и сделать из них массив (нет стандартный вариант не подходит)

BETEPAH 24.04.2014 14:15

Цитата:

Сообщение от KlausKater
нет стандартный вариант не подходит

почему?

KlausKater 24.04.2014 14:20

Потому что стандартный вариант не позволяет задавать многомерный массив.
И при указании в инпуте name['index][] получается не массим name, а несколько ключей name[index], короче бред ). А нужен массив, именно с индексами.
Короч, надо обработать данные введеные пользователем, перед отправкой.

BETEPAH 24.04.2014 14:27

Какой-то странный стандартный вариант, не находите?
Цитата:

Сообщение от KlausKater
Короч, надо обработать данные введеные пользователем, перед отправкой.

Не понятно, в чем сложность возникает.
$("#my-form").submit(function(){
        //обрабатываете
    return true;
});

danik.js 24.04.2014 14:32

Цитата:

Сообщение от KlausKater
И при указании в инпуте name['index][] получается не массим name, а несколько ключей name[index], короче бред )

А чем это не массив? В PHP в POST приходит массив. Либо ассоциативный либо обычный.
name[a]
name[b] - так будет ассоциативный
name[]
name[] - так будет обычный

Видимо ты не вкурил как это работает и полез не в те дебри.

KlausKater 24.04.2014 14:47

Видимо не вкурил,
когда я задаю несколько инпутов

<input type='radio' name='test[1][] val=1>
<input type='radio' name='test[1][] val=2>
<input type='radio' name='test[1][] val=3>
<input type='radio' name='test[1][] val=4>

<input type='radio' name='test[2][] val=1>
<input type='radio' name='test[2][] val=2>
<input type='radio' name='test[2][] val=3>
<input type='radio' name='test[2][] val=4>

<input type='radio' name='test[3][] val=1>
<input type='radio' name='test[3][] val=2>
<input type='radio' name='test[3][] val=3>
<input type='radio' name='test[3][] val=4>


получается не массив test{1: 2, 2:2, 3:1}, а несколько элементов 'test[1]':[2], 'test[2]':[2], 'test[3]':[1]. Что не собриается парсером на сервере в один массив.

KlausKater 24.04.2014 14:49

Грубо говоря, есть группы инпутов, с чекбоксами, и я хочу массив:
{группа1: [1,2],
группа2:[1],
группа3:[1,2,3]}

KlausKater 24.04.2014 14:52

Товарищь BETEPAH,
Каким образом в POST добавить данные? В той самой функции submit.

BETEPAH 24.04.2014 14:56

KlausKater,
А что должно собираться в массив? Это же радиокнопка, у нее одно значение для каждой из трех групп.

BETEPAH 24.04.2014 14:57

Цитата:

Сообщение от KlausKater
Каким образом в POST добавить данные?

сделайте <input type="hidden"> и записывайте туда нужное.


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