Javascript - 附加到文本区域值 - IE Chrome 和 Firefox

Javascript - append to text area value - IE Chrome and Firefox

本文关键字:IE Chrome Firefox 文本 Javascript 区域      更新时间:2023-09-26

我该如何完成这项工作。我正在尝试将文本附加到文本区域。如果某个值已存在,则追加。我让它工作,但似乎它不能在所有浏览器中工作。有没有更好的方法可以做到这一点?

尝试了两种方式,它们在Chrome,IE和FF中都不起作用 -

if ($('#log').value == undefined) {
$('#log').val("First: " + result[0]);
} else {
$('#log').val($('#log').value += "Second: " + result[0]);
}
if ($('#log').value == undefined) {
$('#log').val("First: " + result[0]);
} else {
$('#log').val(log.value += "Second: " + result[0]);
}

如果没有If,这在Chrome中有效,但在IE和FF中不起作用 -

$('#log').val(log.value += "First: + result[0]);

jQuery对象没有.value属性,因此$('#log').value将始终undefined。 这意味着您的语句将始终调用$('#log').val("First: " + result[0]);,而永远不会调用第二个语句。

您需要改为检查if($('#log').val() == '')

至于.val(),你可以传递一个函数。 此函数将传递输入的当前值。

if ($('#log').val() == '') {
    $('#log').val("First: " + result[0]);
} else {
    $('#log').val(function(i, v){ // v is the current value
        return v + "Second: " + result[0];  // what's returned is what the value will be set to
    });
}