Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-附加到文本区域值-即Chrome和Firefox_Javascript - Fatal编程技术网

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

Javascript-附加到文本区域值-即Chrome和Firefox,javascript,Javascript,我该怎么做呢。我正在尝试将文本附加到文本区域。如果某个值已经存在,则追加。我让它工作,但似乎它不能在所有浏览器中工作。有更好的方法吗 两种方法都试过了,但在Chrome和FF中都不起作用- if ($('#log').value == undefined) { $('#log').val("First: " + result[0]); } else { $('#log').val($('#log').value += "Second: " + result[0]); } if ($('#log

我该怎么做呢。我正在尝试将文本附加到文本区域。如果某个值已经存在,则追加。我让它工作,但似乎它不能在所有浏览器中工作。有更好的方法吗

两种方法都试过了,但在Chrome和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]);
}
$('#log').val(log.value += "First: + result[0]);
如果不使用
If
,这在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]);
}
$('#log').val(log.value += "First: + result[0]);

jQuery对象没有
.value
属性,因此
$(“#log”).value
将始终是
未定义的。这意味着您的语句将始终调用
$('#log').val(“First:+result[0])并且永远不要调用第二个

您需要检查
是否($('#log').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
    });
}

undefined与空字符串不同,空字符串是一个空文本区域的值。我不明白为什么在它自己的
.val()
中有一个
+=
元素。尝试
$('#log').val($('#log').val()+“第二个:”+result[0])
@kennebec-在chrome中用于空日志
$('#log').val(log.value+=“First:+result[0]);
被打印为
未定义的
。如何检测空字符串/文本区域?@FabrícioMatt-尝试了
$('#log').val($('#log').val()+“Second:+result[0])
。相同的结果。哦,该死,我注意到了.val()里面的
.value
)但是我在
if
语句中没有注意到这一点。你的答案是+1。:)该结束了。谢谢!当你将函数传递给
.val()
jQuery调用它,并传递它两个参数时,如何确定
v
具有文本值?什么是
I
,是元素的
索引(在其父元素中的位置),第二个(我将其命名为
v
)是当前值。此函数的返回值是元素的值将被设置为的值。谢谢。因此jQuery是为传递这两个参数而设计的。是的,这些参数是由jQuery传递的,您只是给它一个可以接受它们的函数。酷。谢谢!不知道。到目前为止,我只是一个愚蠢的代码扭曲器。:D