1

我有一个表单,其中将插入带有 javascript 的动态元素,并且遇到了一些奇怪的行为。当我单击按钮以将另一个元素添加到表单中的表格时,它会添加该元素,但似乎会立即发布到表单中(不打算提交表单)

我创建了一个具有相同行为的页面的简化示例。第一个表格元素是在页面加载时创建的,随后的元素是在单击按钮时添加的。此表单在 IE 中成功运行。有谁知道如何防止这种行为?

这是代码示例。

<!DOCTYPE html>
<html>
<head>
    <title>Test Creating Form</title>
    <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
    <style type="text/css">
        td{font-family:verdana;}
    </style>
    <script type="text/javascript">
        var counter = 0;

        function makeTitle(title){
            if(counter){
                title += " " + counter;
            }
            counter++;
            var tbl = document.getElementById('tbl');
            var tr = tbl.insertRow(-1)
            var td1 = tr.insertCell(-1);
            td1.innerHTML = title;
        }


        function load1(){
            makeTitle('Primary Specimen');
        }
    </script>
</head>
<body onload="load1();">
    <form action="formtest.htm" method="post" name="testForm" id="testForm">
        <table id="tbl" border="1"></table>
        <button onclick="makeTitle('Alternate Specimen')" id="clone" >Add Another Specimen</button>


    </form>
</body>
</html>
4

2 回答 2

2

按钮标签默认为type="submit"; 添加type="button".

于 2012-11-28T23:02:18.537 回答
0

取消点击事件return false;或添加type="button"<button />没有 - 属性的Atype默认是submit- 按钮。

<button type="button" onclick="makeTitle('Alternate Specimen')" id="clone" >Add Another Specimen</button>
于 2012-11-28T23:03:03.097 回答