javascript按钮适用于ie,而不是firefox或chrome

时间:2009-07-27 16:06:57

标签: javascript button

我正在编写一个显示表格的简单网页。它是表格的右栏,我想在每行中添加一个“查看”按钮。我写了一个函数,即通过创建一个按钮对象并设置value ='view',但在firefox和chrome中,按钮显示没有文本。有谁知道为什么?这是我的代码:

function addRow(id, sender, message){
  var theTable = document.getElementById('messageTable');
  var lastRow = theTable.rows.length;
  var newRow = theTable.insertRow(lastRow);
  newRow.id = id;

  var cellLeft = newRow.insertCell(0);
  var textNode = document.createTextNode(id);
  cellLeft.appendChild(textNode);

  var secondCell = newRow.insertCell(1);
  var textNode2 = document.createTextNode(sender);
  secondCell.appendChild(textNode2);

  var messageCell = newRow.insertCell(2);
  var messageNode = document.createTextNode(message);
  messageCell.appendChild(messageNode);

  var viewCell = newRow.insertCell(3);
  var viewNode = document.createElement('button');
  viewNode.value = 'View';
  viewNode.onclick = function(){
    alert('clicked: ' + id);
  };
  viewCell.appendChild(viewNode);
}

2 个答案:

答案 0 :(得分:2)

你必须做viewNode.innerHTML ='查看',因为在FF按钮中显示标签包装但不包含值属性

答案 1 :(得分:0)

<button>不像<input>那样自动关闭,并且没有value属性。您已经在代码的其他部分中使用了解决方案:

viewNode.appendChild(document.createTextNode('View'));

您也不需要为仅使用一次的节点创建变量。您可以使用上述样式在几个地方合并代码。