Есть массивы php Код (Text): <? $arr = array('user_login', 'user_mail'); $arr1 = array('логин', 'mail'); ?> и есть javascript, в который нужно вставить этот массив Код (Text): <script language="JavaScript"> required = new Array("user_login", "user_mail"); // вместо "user_login", "user_mail" нужно чтобы подставлялся массив $arr required_show = new Array("логин", "mail"); // вместо "логин", "mail" нужно чтобы подставлялся массив $arr1 function SendForm () { var i, j; for(j=0; j<required.length; j++) { for (i=0; i<document.forms[0].length; i++) { if (document.forms[0].elements[i].name == required[j] && document.forms[0].elements[i].value == "" ) { alert(\'заполните \n\'+ required_show[j]); document.forms[0].elements[i].focus(); return false; } } } return true; } </script> Помогите вставить массив из php в javascript. 2 часа провозился так и не получилось
PHP: echo 'куча javascript кода'.$arr[0].'javascript код'.$arr[1].'еще куча javascript кода'; второй массив аналогично. в чем тут может быть проблема?
LuckyScrat Вы читать пробовали что мне нужно? Или самое главное написать пост и не важно в тему он или нет, хотя здесь денег за посты вроде не платят и значит вы форумом ошиблись...
А вы думать пробовали? Вам дали решение. Или вам слюнявчик подать и вытереть? Тогда вы форумом ошиблись.
Simpliest Какое тут решение? если я скрипт пихаю в функцию, а функции передаю параметры в качестве массивов??? т.е. мне функции нужно передать 2 массива и чтобы это работало... а разобрать массив на составляющие когда известны все переменные и они не изменны может и пятиклассник....
Это печально. Значит вы хуже пятиклассника. Так вот к сведению. PHP не может ничего передать яваскрипту в им же формируемой странице. Но вы можете заставить PHP создать описание массивов в странице и в синтаксисе яваскрипта, так как это показал LuckyScrat Точно так же как создаете html код страницы.
topas +500. частенько использую такого типа конструкции PHP: <?php header('Content-type:text/javascript'); header('Cache-Control: no-cache, no-story, must-revalidate'); header('Expire:'.date('r')); ?> var infolist = <?php echo json_encode( isset($infolist)&&is_array($infolist) ? $infolist : array() ); ?>; так что клиент на js получает корректные данные из php, ожидаемого типа)
Simpliest Хуже пятиклассника вы... если не знаете, лучше не писать topas Огромное спасибо! все сделал! DarkElf тоже спасибо, но уже сделал, почти также...
Код (Text): <?php $arr = array("user_login", "user_mail"); $arr1 = array("login, "mail"); ?> <script language="JavaScript"> required = [ <?php echo '"' . implode('","', $arr) . '"'; ?> ] required_show = [ <?php echo '"' . implode('","', $arr1) . '"'; ?> ] function SendForm () { ..... </script>
obsrv кмк, для получения json-packed структур лучше использовать встроенную функцию, для этого предназначенную)
DarkElf Не вопрос Просто я не использовал еще json_encode (признаюсь - век живи, век учись). Со старинки так делал, не отслеживал.