Для вашего вопроса # 2 есть только один способ заполнить поле: установить атрибут поля value
.Делаете ли вы это во время генерации страницы на стороне сервера, или на стороне клиента, используя AJAX или plain-jane, Javascript не имеет значения - вы все равно просто заполняете поля формы атрибутом value (или selectedIndex или содержимым textarea, независимо от того, что).
Если вы делаете это на стороне сервера, вы ДОЛЖНЫ передать значения через htmlspecialchars()
, в противном случае вставляемые вами данные могут нарушить форму, если они содержат метасимволы HTML (* 1005).*, "
, <
, >
) и приведут к уязвимости XSS на вашем сайте.
Если вы делаете это на стороне клиента, то вам придется сделать эквивалентное экранированиес json_encode()
и тому подобным, чтобы предотвратить случайный взлом '
в данных от взлома Javascript.