Intereting Posts
Планирование php-скриптов Как интегрировать шлюз paypal в laravel? PHP не имеет функции для XML-безопасного сущностного декодирования? У вас нет xml_entity_decode? Отправить URL через переменную AJAX / PHP без обновления страницы, переменной загрузки Как был создан URL-адрес http://stackoverflow.com/posts/1807421/edit, созданный на PHP? Здесь, кажется, есть ошибка, но я этого не вижу. Запрос работает, но эхо не так! Инъекция зависимостей Laravel в промежуточном программном обеспечении выпадающее меню Обнаруживать при нажатии ссылки, открыть в новом кадре PHP отправляет электронное письмо с прикрепленным изображением Изображение PHP / Imagick / PDFlib Flop изменяет свою битовую глубину Представление JQuery / Ajax (enctype = "multipart / form-data"). Почему «contentType: False» вызывает неопределенный индекс в PHP? PHP: существует ли безопасный способ извлечения ($ _ POST) PHP-скрипт, возвращающий "undefined" в submit Избегание ошибок при попытке загрузить недоступный файл

Передача массива PHP во внешнюю функцию Javascript как массив

Я делаю то, что мне нужно передать массив из моего php в функцию на внешнем javascript. В настоящее время я делаю несколько тестов, которые выглядят следующим образом:

<input type="text" onclick="show_error_message('<?php echo $array_sample ?>')" readonly="readonly"> 

и функция javascript такова:

 function show_error_message(test) { alert(test) } 

my $ array_sample содержит данные, которые представляют собой array("1","2","3"); но возвращаемое предупреждение будет Array и всякий раз, когда я изменяю $array_sample в $array_sample[0] при передаче параметров, я получаю данные, которые являются 1 в качестве предупреждения. Интересно, как я могу передать весь массив на это, чтобы получить также массив в javascript. Ну, как вы можете видеть, я решил, что это всплывающее сообщение для обработки ошибок, поэтому мне нужно, чтобы оно было динамическим.

Related of "Передача массива PHP во внешнюю функцию Javascript как массив"

Использовать json_encode

 onclick='show_error_message(<?php echo json_encode($array_sample) ?>)' 

или

 onclick="show_error_message(<?php echo htmlspecialchars(json_encode($array_sample)) ?>)" 

Обратите внимание на отсутствие кавычек ( ' ) вокруг php-кода, таким образом, литерал массива передается show_error_message а не строка.

Кодирование массива PHP на json-данные с помощью функции json_encode() .

И в Javascript используйте JSON.parse() для синтаксического анализа строки Json.

В приведенном ниже коде показано, как передать php-массив в javascript:

 <script type="text/javascript"> function mufunc(a) { var temp = new Array(); temp = a.split('~'); for(i=0;i<temp.length;i++) { alert(temp[i]); } } </script> <?php $a = array('a','b','c'); $b = implode("~",$a); ?> <a href="javascript:void(0)" onClick="mufunc('<?php echo $b; ?>')">Click Here</a>