Я обнаружил, что в Chrome 6.0.472.59, Firefox 3.6.9 и Opera 10.62, все в Ubuntu 10.04, что textarea
имеет / использует атрибут .val()
. На случай, если некоторые другие браузеры этого не сделают или не могут сделать, я собрал эту jsbin demo . Я использовал блок if/else
, чтобы охватить оба подхода. На всякий случай ...
$(document).ready(
function() {
$('form').submit(
function() {
if ($('textarea').val()) {
var means = 'val()',
textValue = $('textarea').val();
}
else {
var means = 'text()',
textValue = $('textarea').text();
}
alert('(' + means + ') ' + textValue);
return false;
}
);
}
);
Этот вопрос Stackoverflow ( jQuery get texttarea text ) также предполагает, что он должен быть возможным и надежным, как это делает первый комментатор на странице API для Val () , в jQuery.com .
Обратите внимание, что касается Opera: демоверсия jsBin сработала только после того, как я деактивировал инструменты разработчика (по любой причине). Возможно, стоит выключить Dragonfly (если он запущен), а затем обновить демонстрационную страницу (или, очевидно, собственную тестовую страницу), чтобы увидеть, если это что-то меняет. В любом случае всегда стоит очистить кэш, чтобы убедиться, что используется самая последняя версия файлов.