jquery: Получить данные со страницы

Станислав
На сайте с 27.12.2009
Offline
258
1108

Мужики прошу помощи, сам не могу осилить, в JS слаб и не могу додуматься.

Есть страница с тремя input и один submit, нужно собрать данные клику кнопки в массив и передать постом в файл, как передать трудностей нет, но вот трудность в том как собрать данные в массив?

Пример страницы.


<input id="url_page_public vkontakte" type="text">
<input id="url_page_public faceboot" type="text">
<input id="url_page_public twitter" type="text">
<input id="save_url" type="submit" value="Сохранить">

Начал писать, и... вобщем ступор


$(function() {
$('.public_url').on('click', '#save_url', function(){
var post = ???
});
});

Нужно взять все данные из 3 input с id url_page_public и составить массив с ключами находящимися в ID после url_page_public

Вот пример массива который хотелось бы получить

array(

'vkontakte' => 'ссылка',
'faceboot' => 'ссылка',
'twitter' => 'ссылка'
)

Возможно ли это? Или придется доставить данные по отдельности?

Мы там, где рады нас видеть.
Z0
На сайте с 03.09.2009
Offline
827
#1

<input class="url_page_public" data-id="vkontakte" type="text">

<input class="url_page_public" data-id="faceboot" type="text">

<input class="url_page_public" data-id="twitter" type="text">

post = [];

$('.url_page_public').each(function(){

post.push(this.attr('data-id'));

});

Если я вас правильно понял.

R
На сайте с 18.12.2009
Offline
92
#2

https://api.jquery.com/serializeArray/

$("form").serializeArray();
М
На сайте с 05.02.2014
Offline
30
#3

Ms-Dred, старайтесь не использоваться элементы с одинаковым значением id. Всё же предполагается, что на странице существует всего 1 элемент с указанным id.

Если нужно нескольким элементам задать один и тот же "опознавательный знак", то используйте классы.

А по теме вопроса: используйте jQuery-функцию each(). Почитайте подробности про неё в документации.

---------- Добавлено 03.03.2014 в 21:40 ----------

ziliboba0213, немножко не так. Судя из описания нужен ассоциативный массив. Поэтому скорее так нужно:

post[ this.attr( 'data-id' ) ] = this.val();

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий