单击HTML表数据并插入文本区域

时间:2010-11-19 12:37:19

标签: php javascript html

我在单元格中有一个带有文本的HTML表格,如下所示:

<tr><td>HELLO</td></tr>

然后我有一个像这样的文本区域:

<input type="text" id="txt_message" name="txt_message"

我想这样做,以便当您在表格单元格内部单击时,数据(在本例中为“HELLO”一词)将插入文本区域(因此用户无需键入)。

我不知道这是否可行,但我猜它是,而且它可能是JavaScript中的某些内容。

如果有人有任何建议会很好,谢谢:)

4 个答案:

答案 0 :(得分:2)

<强> [Working demo]

var textbox = document.getElementById('textbox');
var table = document.getElementById('table');
// add one event handler to the table
table.onclick = function (e) {
  // normalize event
  e = e || window.event; 
  // find out which element was clicked
  var el =  e.target || e.srcElement;
  // check if it's a table cell
  if (el.nodeName.toUpperCase() == "TD") {
    // append it's content to the textbox
    textbox.value += (el.textContent || el.innerText);
  }
}​

注意:||的所有条件分配都是为了跨浏览器兼容。

答案 1 :(得分:1)

一个简单的jQuery片段,假设你有1个textarea和多个td来点击

(function() {
   var ta = $('#txt_message');
   $('td').bind('click.addtextarea', function() {
      var text = $(this).html();
      ta.val([ta.val(), text].join(' ')); /* this add words */
      /* ta.val(text);                     this print one word */
   });
})()

答案 2 :(得分:1)

这是Working demo使用jquery。

答案 3 :(得分:1)

要获取值,请使用innerhtml和span,更多信息:http://www.vbforums.com/showthread.php?t=339864

要更新textarea,您应该可以执行以下操作:document.getElementById(“text_message”)。value = x;