Textarea как получить значение jquery

У меня есть iframe, который содержит текстовое поле, например:

Я хочу получить текст textarea на родительской странице. Я пробовал это:

Но возвращается пустая строка. Однако, если я поместил значение в теги, это значение будет успешно возвращено:

Как я могу получить значение textarea со страницы, содержащей iframe?

ЧТЕНИЕ содержимого

Чтобы получить значение из текстового поля с идентификатором, вам просто нужно сделать

Если у вас есть более одного элемента с тем же идентификатором в документе, то HTML недействителен.

Вы можете использовать val() .

Получить текст textarea с JavaScript:

Как сказал @Darin Dimitrov, если он не является iframe в том же домене, он невозможен, если это так, убедитесь, что $("#frame1").contents() возвращает все, что ему нужно, а затем проверить, найдено ли текстовое поле:

$("#frame1").contents().find("#area1").length должно быть 1.

Если, когда ваша текстовая область "пуста", возвращается пустая строка, и когда у нее есть какой-то текст, введенный текст возвращается, тогда он работает отлично! Когда текстовое поле пусто , возвращается строка empty !

Изменить 2 ОК. Здесь есть один способ, это не очень красиво, но он работает:

За пределами iframe вы получите доступ к текстовому пространству следующим образом:

И внутри iframe (который, как я предполагаю, имеет jQuery) в документе готов поставить этот код:

значение textarea также берется с val способ:

вам нужно использовать .val() для textarea, поскольку это элемент, а не оболочка. Попробуй!—3—>

вы должны использовать val() вместо html()

вам не нужно использовать textarea#message

вы можете напрямую использовать

вы должны проверить textarea null перед использованием val () в противном случае вы получите неопределенную ошибку.

тогда вы можете делать все, что угодно с сообщением.

Читайте также:  Panasonic kx mb783 драйвер

$(‘textarea#message’) не может быть определен (если $ вы имеете в виду jQuery, конечно).

$(‘textarea#message’) может иметь длину 0, а потом $(‘textarea#message’).val() было бы пусто, вот и все

вы можете напрямую использовать

все значения всегда берутся .val ();

вам не нужно использовать .html() . Вы должны пойти с .val() .

на .val() метод в основном используется для получения значений элементов формы, таких как input , select и textarea . При вызове пустой коллекции он возвращает undefined .

вы также можете получить значение по имени вместо id, как это:

i have this form and im trying to get the value from the text area. for some reason it doesn’t want to.

11 Answers 11

Value of textarea is also taken with val method:

You need to use .val() for textarea as it is an element and not a wrapper. Try

you should use val() instead of html()

You don’t need to use textarea#message

You can directly use

You should check the textarea is null before you use val() otherwise, you will get undefined error.

Then, you could do whatever with message.

$(‘textarea#message’) cannot be undefined (if by $ you mean jQuery of course).

$(‘textarea#message’) may be of length 0 and then $(‘textarea#message’).val() would be empty that’s all

You don’t need to use .html() . You should go with .val() .

From the doc of .val() :

The .val() method is primarily used to get the values of form elements such as input , select and textarea . When called on an empty collection, it returns undefined .

Rate this post

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *