Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: чтение json
 
 автор: moonfox   (31.05.2014 в 21:43)   письмо автору
 
 

простой вопрос)
<input name="scity">
<input name="scityid">
var test = $('#step1').serializeArray();

соотвественно получили
[
Object { name="scity", value="0"}, 
Object { name="scityid", value="0"}
]
как получить доступ к полям не в виде alert(test[0].name);
а alert(test.scity);

  Ответить  
 
 автор: confirm   (31.05.2014 в 22:27)   письмо автору
 
   для: moonfox   (31.05.2014 в 21:43)
 

Не путайте объекты со строкой JSON. .serializeArray() к JSON никакого отношения не имеет, она возвращает массив объектов, понимаете - массив?

  Ответить  
 
 автор: moonfox   (31.05.2014 в 22:35)   письмо автору
 
   для: confirm   (31.05.2014 в 22:27)
 

а вот это смутило

.serializeArray():arrayv:1.2

Метод не имеет параметров.

Возвращенный массив будет иметь следующий формат: [{name:"name1", value:"val1"}, {name:"name2", value:"val2"},...]. Это соответствуют формату JSON


Продемонстрируем работу функции на простом примере:

<form>
  <input type="text" name="a" value="1" id="a" />
  <textarea name="b" rows="8" cols="40">2</textarea>
</form>
 
<script>
  var s = $('form').serializeArray();
</script>

В результате, переменной s будет пресвоено значение

    [{name:"a", value:"1"}, {name:"b", value:"2"}]. 



ясно.
но это не меняет вопроса
как потом полученный массив объектов преобразовать в нужный вид
чтоб обращаться по имени поля к его данным то?

  Ответить  
 
 автор: confirm   (31.05.2014 в 22:39)   письмо автору
 
   для: moonfox   (31.05.2014 в 22:35)
 

Есть у вас массив, например:

<?
$a 
= array(
    
'n' => array(
        
'k' => 15 
    
)
);


Можно ли получить значение ключа k сразу обратившись с к нему как $a['k'], "перепрыгнув" через ключ n?

  Ответить  
 
 автор: moonfox   (31.05.2014 в 22:42)   письмо автору
 
   для: confirm   (31.05.2014 в 22:39)
 

неа

объясните пример врет?

консоль
[Object { name="a", value="1"}, Object { name="b", value="2"}]


http://jquery.page2page.ru/index.php5/%D0%9F%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D1%84%D0%BE%D1%80%D0%BC%D1%8B_%D0%B2_%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2

пример [{name:"a", value:"1"}, {name:"b", value:"2"}]

  Ответить  
 
 автор: confirm   (31.05.2014 в 22:52)   письмо автору
 
   для: moonfox   (31.05.2014 в 22:42)
 

Что объяснить?

  Ответить  
 
 автор: moonfox   (31.05.2014 в 23:00)   письмо автору
 
   для: confirm   (31.05.2014 в 22:52)
 

результаты разные
в их примере якобы должен json после serializeArray быть
но ведь это не так

  Ответить  
 
 автор: confirm   (31.05.2014 в 23:08)   письмо автору
 
   для: moonfox   (31.05.2014 в 23:00)
 

Я уже устал повторять, что нет никакого JSON, есть объект. ТО что нельзя перескочить через ключ, как и нельзя в массиве объектов без ссылки на индекс в массиве достучаться до объекта под индексом, тоже вроде бы понятно. Что еще надо?

  Ответить  
 
 автор: moonfox   (01.06.2014 в 00:04)   письмо автору
 
   для: confirm   (31.05.2014 в 23:08)
 

вот и я говорю фигли у них пример такой)

с индексом понятно
не понятно как поступить
хочется обращаться по имени поля

хорошо
ваш вариант?
есть форма в ней поля - любой кол-во
надо получить имена всех полей и проверить парочку на наличие данных.

  Ответить  
 
 автор: confirm   (01.06.2014 в 00:11)   письмо автору
 
   для: moonfox   (01.06.2014 в 00:04)
 

.serializeArray() предназначена не для получения имен формы, а для иных целей. А форма, это коллекция элементов, и обратиться к ним можно как по индексу, так и по имени, и по id. Об обращении по индексу я уже вам писал код.

  Ответить  
 
 автор: moonfox   (01.06.2014 в 00:17)   письмо автору
 
   для: confirm   (01.06.2014 в 00:11)
 

ок
спс

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования