Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вставка текста в textarea в popup форме (https://javascript.ru/forum/misc/66409-vstavka-teksta-v-textarea-v-popup-forme.html)

KEMPZOR 13.12.2016 22:42

Вставка текста в textarea в popup форме
 
Здравствуйте уважаемые господа. Нужна ваша помощь. Есть на сайте всплывающая popup форма. Хочу сделать так, чтобы по клику на кнопку <a href..... всплывала форма с вставленным произвольным текстом текстом в textarea.

Если вставить в консоль
document.getElementById("d[2]").value = "Johnny Bravo";
то всё работает. Подскажите пожалуйста куда копать ?

Вот поле куда нужно вставить
<textarea name="d[2]" id="d[2]" required=""></textarea>

Кнопка
<a class="form-button" href="#" onclick="myFunction()">КНОПКА</a>


<script>
function myFunction() {
    document.getElementById("d[2]").value = "Johnny Bravo";
}
</script>

ksa 14.12.2016 08:49

Цитата:

Сообщение от KEMPZOR
Подскажите пожалуйста куда копать ?

Так ты вроде уже выкопал, не? :blink:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
function myFunction() {
    document.getElementById("d[2]").value = "Johnny Bravo";
};
</script>
</head>
<body>
<a class="form-button" href="#" onclick="myFunction()">КНОПКА</a>
<textarea name="d[2]" id="d[2]" required=""></textarea>
</body>
</html>

KEMPZOR 14.12.2016 10:23

Цитата:

Сообщение от ksa (Сообщение 437953)
Так ты вроде уже выкопал, не? :blink:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
function myFunction() {
    document.getElementById("d[2]").value = "Johnny Bravo";
};
</script>
</head>
<body>
<a class="form-button" href="#" onclick="myFunction()">КНОПКА</a>
<textarea name="d[2]" id="d[2]" required=""></textarea>
</body>
</html>

Вот только у меня пишет test4:495 Uncaught TypeError: Cannot set property 'value' of null(…)myFunction @ test4:495onclick @ test4:499

Я так понимаю скрипт MyFunction загружается раньше чем всплывающее окно ?

Если просто в консоль вставить
document.getElementById("d[2]").value = "Johnny Bravo";
то работает.

Если так
function myFunction() {
    document.getElementById("d[2]").value = "Johnny Bravo";
};
то пишет undefined.

ksa 14.12.2016 10:25

Цитата:

Сообщение от KEMPZOR
Я так понимаю скрипт MyFunction загружается раньше чем всплывающее окно ?

Как это именно у тебя я не вкурсе... :no:

KEMPZOR 14.12.2016 11:12

Цитата:

Сообщение от ksa (Сообщение 437959)
Как это именно у тебя я не вкурсе... :no:

Вот вставил код у себя на сайт, подскажите почему не работает ?

laimas 14.12.2016 11:29

Это из-за квадратных скобок. Можно так:

document.querySelector('form').elements['d[2]'].value

KEMPZOR 14.12.2016 11:37

Цитата:

Сообщение от laimas (Сообщение 437968)
Это из-за квадратных скобок. Можно так:

document.querySelector('form').elements['d[2]'].value

Вставил вот так
<script type='text/javascript'>
function myFunction() {
    document.querySelector('form').elements['d[2]'].value = "Johnny Bravo";
};
</script>

<a href="#" class="form-button" onclick="myFunction()">КНОПКА</a>

Не получается, пишет ошибку test10:360 Uncaught TypeError: Cannot read property 'elements' of null.

laimas 14.12.2016 11:39

<html> 
<body>
<form>
<input name="d[2]" />
</form>
<script> 
document.querySelector('form').elements['d[2]'].value = 't'
</script>
</body> 
</html>


Ошибки есть?

KEMPZOR 14.12.2016 11:46

Цитата:

Сообщение от laimas (Сообщение 437971)
<html> 
<body>
<form>
<input name="d[2]" />
</form>
<script> 
document.querySelector('form').elements['d[2]'].value = 't'
</script>
</body> 
</html>


Ошибки есть?

Uncaught TypeError: Cannot read property 'elements' of null

laimas 14.12.2016 12:28

Мне ваши 404 по ссылке не нужны.

Жмем здесь на примере кода "Просмотреть", и ... ошибки есть?
Вот и на сайте своем делайте подобным образом, только не "один к одному" с примером, а используя реальный селектор доступа к своей форме.


Часовой пояс GMT +3, время: 11:29.