Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 30.09.2016, 13:57
St. St. вне форума
Аспирант
Отправить личное сообщение для St. Посмотреть профиль Найти все сообщения от St.
 
Регистрация: 15.04.2016
Сообщений: 53

Уважаемые, спасибо.
Получилось вот так (php):
$massiv = array('Текст 0', 'Текст 1', 234, 546);
$encodemassiv = rawurlencode(json_encode($massiv));
echo '<form action="' . $url . '" method="post" name="FormRegistration" onsubmit="return RegistrationValid(\'' . $encodemassiv . '\');">';


Функция на js:
function RegistrationValid(encodemassiv)
{
massivjs = JSON.parse(decodeURIComponent(encodemassiv))
alert(massivjs[0]);
alert(massivjs[1]);
alert(massivjs[2]);
alert(massivjs[3]);
}


warren buffet.
Цитата:
Сейчас это можно сделать через атрибут поля pattern. Более того, есть встроенная в браузеры валидация, но там как-то туманно все.
Кто такие pattern? У вас есть справочная информация о них (можно с примерами)?

Последний раз редактировалось St., 30.09.2016 в 14:03.
Ответить с цитированием
  #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.
Ответить с цитированием
  #23 (permalink)  
Старый 30.09.2016, 14:42
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от St.
rawurlencode
Это зачем? У тебя вообще php в UTF-8 или в какой-нить анзи-шманзи вин-1251? json_encode() работает только с юникодом нормально.
Ответить с цитированием
  #24 (permalink)  
Старый 30.09.2016, 14:44
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от St.
У вас есть справочная информация о них

У меня все есть http://www.html5pattern.com/


Судя по тому, что тебе двое человек три страницы не смогли вталдычить самое элементарное, боюсь лучше не мучиться с паттернами и объектными валидаторами. Продолжай как смошешь.
Ответить с цитированием
  #25 (permalink)  
Старый 30.09.2016, 14:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от warren buffet
Это зачем? У тебя вообще php в UTF-8 или в какой-нить анзи-шманзи вин-1251?
rawurlencode, это URL-кодирование строки согласно RFC 3986 и к какой либо кодировке не привязана.
Ответить с цитированием
  #26 (permalink)  
Старый 30.09.2016, 15:02
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

json_encode все сам делает, стопудово. Я передаю кириллицу им и любой юникод в жабу скрипучую. Само собой надо посылать заголовок насчет кодировки, но это как бы мастхав.
Ответить с цитированием
  #27 (permalink)  
Старый 30.09.2016, 15:30
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от laimas
json_encode все сам делает, стопудово.
Значит и ты ничего не понимаешь.
Ответить с цитированием
  #28 (permalink)  
Старый 30.09.2016, 16:03
St. St. вне форума
Аспирант
Отправить личное сообщение для St. Посмотреть профиль Найти все сообщения от St.
 
Регистрация: 15.04.2016
Сообщений: 53

laimas.
В отладчике смотрел, получилось...
Спасибо.

П.С.
Хух...
pattern посмотрю завтра.
Ответить с цитированием
  #29 (permalink)  
Старый 30.09.2016, 16:07
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

St.,
обязательно нужно знать это, а знание формата данных, в данном случае JSON, передачи аргументов в js-функции (и не только в них), уже на этапе написания этого кода даст представление конечного результата. Не надо действовать наобум - я привел пример с кодированием, а вы его сразу ..., а ведь в данном случае это лишнее. ) Это нужно будет для очень "тяжелых" случаев.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача значение атрибута name в php по клику Tegev AJAX и COMET 5 06.05.2016 12:30
Как подключить данные с PHP по средствам JS на удаленный сервер. Nyam Элементы интерфейса 13 11.04.2014 17:14
Как вывести содержимое PHP файла с помощью JS? pavdin Серверные языки и технологии 6 22.12.2010 14:16
Не получается передать переменную из JS в PHP Lion_astana AJAX и COMET 2 23.11.2010 17:23
Суперглобальные PHP увидеть в JS Robox Общие вопросы Javascript 4 10.06.2010 15:49