Javascript AppendChild自动刷新表单

时间:2015-01-20 15:08:56

标签: javascript html

我有一个小代码,可以将列表项从一个列表移动到另一个列表。代码在IE8中工作,但不是IE10或chrome。在onclick事件之后,列表项从左向右移动列表,但随后页面似乎页面自动刷新。

如果我删除标签,那么代码可以工作,但我需要标签。如何在onclick事件发生时停止javascript以不刷新页面。我尝试了其他帖子中提到的几个解决方案,但都没有奏效。感谢您能否帮助我。   我不想发布所有代码。因此我为此创建了一个示例页面。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title>Test</title>
  <script>
function AppendList()
{
//event.preventDefault(); I also tried AppendList(event)
var node = document.getElementById("batchReportLists0").lastChild;
document.getElementById("batchReportLists1").appendChild(node);
alert("Added Last Item");
//return false;
//window.onbeforeunload = function(){
//return "Refresh";
}
  </script>
</head>
<body>
<form name="batchReportForm" enctype="multipart/form-data">
  <table style="text-align: left; width: 100%;" border="1"
 cellpadding="2" cellspacing="2">
    <tbody>
      <tr>
        <td></td>
        <td></td>
      </tr>
      <tr>
        <td>
        <select multiple="multiple" size="15" name="T1"
 class="bodyText" id="batchReportLists0">
        <option>Msg1</option>
        <option>Msg2</option>
        </select>
        </td>
        <td> <button onclick="AppendList();">
&gt;&gt;&gt; </button>
        </td>
        <td>
        <select multiple="multiple" size="15" name="T2"
 class="bodyText" id="batchReportLists1">
        <option>Msg3</option>
        <option>Msg4</option>
        </select>
        </td>
      </tr>
    </tbody>
  </table>
  <br>
</form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

成为

<button type="button">Button</button>

默认情况下,<button>充当提交。