javascript不工作textarea

时间:2011-11-14 15:12:30

标签: javascript jquery

我正在尝试将内容添加到文本区域。它不起作用......

<html><head></head><body>
<div id="wrapper">
<div id="leftc">
text here 
<a href="#" onclick="javascript: $('wrapper').$('rightx').$('thebox').value += 'TEST\ntest\n\ntest">Add</a>
</div>
<div id="rightx">
<textarea id="thebox" rows="10" cols="50"></textarea>
</div>
</div>
</body></html>

有什么想法吗?

编辑:我使用的解决方案:(感谢大家深入了解我的错误)

<a href="#" onclick="javascript:document.getElementById('thebox').value += 'TEST\ntest\n\ntest';">Add</a>

6 个答案:

答案 0 :(得分:3)

这段代码毫无意义,并且充满了错误:

$('wrapper').$('rightx').$('thebox').value += 'TEST\ntest\n\ntest

正确的jQuery代码是:

$('#thebox').get(0).value += 'TEST\ntest\n\ntest';

或者,在普通的javascript中,这甚至可能更简单:

document.getElementById("thebox").value += 'TEST\ntest\n\ntest';

您遇到以下错误:

  1. 引用标记错误
  2. 多个独立jQuery调用的无效且不必要的链接。
  3. .value不是jQuery方法(它是一种DOM方法)

答案 1 :(得分:2)

看起来你正在混合传统的javascript与jquery。只需在jQuery中就可以执行此操作

$('#thebox').val($('#thebox').val()+"TEST");

作为一个观点,你也错过了示例末尾测试字符串中的结尾引用。

另外,如果您在Firefox中没有使用Chrome调试器或Firebug之类的东西,我建议您使用可以输出其中一些简单错误的浏览器。它将为您节省大量时间和挫折感,在浏览器中看到JavaScript错误。

答案 2 :(得分:2)

它没有用,因为它几乎都是错的: - )

<a href="#" onclick="$('#thebox')[0].value += 'TEST\ntest\n\ntest'">Add</a>

通过“id”值向下走DOM是没有意义的,因为“id”属性无论如何都需要具有全局唯一值。因此,您需要担心的唯一“id”是<textarea>元素本身的那个。

答案 3 :(得分:0)

您只需要$('#thebox').val('test');

答案 4 :(得分:0)

<html><head>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script></head><body>
<div id="wrapper">
  <div id="leftc">
    text here 
    <a href="#" onclick="javascript: $('#thebox').val($('#thebox').val() + 'TEST\ntest\n\ntest')">Add</a>
  </div>
  <div id="rightx">
    <textarea id="thebox" rows="10" cols="50"></textarea>
  </div>
</div>
</body></html>

答案 5 :(得分:-1)

也许您可以尝试使用额外的'TEST\ntest\n\ntest关闭'字符串。