Показать сообщение отдельно
  #22 (permalink)  
Старый 30.09.2016, 14:24
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от St.
Получилось вот так
Вы так и не поняли в чем собственно проблема. Если у вас РНР не ниже версии 5.4, то уберем юникод из JSON.

$json = json_encode(['Текст 0', 'Текст 1', 234, 546], JSON_UNESCAPED_UNICODE);
//результат будет такой
//["Текст 0","Текст 1",234,546]
//вставляем как есть в вывод
echo '<button onclick=\'myF(' . $json . ')\'>GO</button>';


Если это просмотреть в отладчике, то html будет таким

<button onclick="myF(["Текст 0","Текст 1",234,546])">GO</button>

Скопируйте в отладчике (в Опере выберите Инструменты разработчика) и получите

<button onclick="myF([&quot;Текст 0&quot;,&quot;Текст 1&quot;,234,546])">GO</button>

Другими словами в нативном обработчике для передачи в функцию уже прописан массив, а в функции сразу обращаемся к его элементам.

function myF(d) {
    alert(d[1])
}




О новых возможностях форм можно почитать здесь и здесь.

Последний раз редактировалось laimas, 30.09.2016 в 14:27.
Ответить с цитированием