Javascript将表分配给变量

时间:2014-03-25 07:58:34

标签: javascript jquery html

我的目标是使用javascript创建一个按钮,创建一个表,与我已有的表相同。这里我有一个id =" create_table_test"的表,以及一个onsumbit函数createTable()的按钮。

问题是每当执行按钮时,而不是我得到的表[对象HTMLTableElement]。也尝试在没有函数getElemntById的情况下执行它,但结果是相同的。通过一些测试,我发现这个脚本不喜欢输入类型。我试图用同一个表做,但是没有输入字段类型设置并且它确定了。也许这就是原因?

接下来可能需要记住的是,我需要将填充的表存储到php变量中,然后将它们插入到表中。

<!DOCTYPE html>
<html>
<head>      
    <script>
    var table = document.getElementById("create_table_test");

            function createTable() {
        document.getElementById("create_table").innerHTML += table;
            }

    </script>
</head>
<body>
    <span id="create_table">
    <table id="create_table_test" class="repeat_table">
            <tr class="tr_test" style="border-bottom:3px solid #0066FF; font-weight:bold">
                <td id="Question">
                Въпрос
                </td>
                <td>
                A
                </td>
                <td>
                B
                </td>
                <td>
                C
                </td>
                <td>
                D
                </td>
                <td>
                True answer
                </td>
                <td>
                </td>
            </tr>
<form name="test" action="send.php" onsubmit="" method="post">

<tr>
<td>
<textarea id="question" name="question" style="width:300px; height:120px;"></textarea></td>
<td>    
<textarea id="answer1" name="answer1" style="width:80px; height:120px"></textarea></td>
<td>
<textarea id="answer2" name="answer2" style="width:80px; height:120px"></textarea></td>
<td>
<textarea id="answer3" name="answer3" style="width:80px; height:120px"></textarea></td>
<td>
<textarea id="answer4" name="answer4" style="width:80px; height:120px"></textarea></td>
<td>
<input id="true_answer" type="radio" name="true_answer" value="A">A<br>
<input id="true_answer" type="radio" name="true_answer" value="B">B<br>
<input id="true_answer" type="radio" name="true_answer" value="C">C<br>
<input id="true_answer" type="radio" name="true_answer" value="D">D<br>
</td>
<td>
<input name="submit" type="submit" value="" class="btn"/>
    </form>
</td>
</tr>
</table>

 <input type="button" onclick="createTable()" value="CreateTable"/>



        </span>
</body>

3 个答案:

答案 0 :(得分:1)

尝试这个...

function createTable() {
            var table = document.getElementById("create_table_test").outerHTML;
        document.getElementById("create_table").innerHTML += table;
            }

答案 1 :(得分:0)

看起来你想要:

document.getElementById("create_table").innerHTML += table.outerHTML;

但要注意重复的ID。

答案 2 :(得分:0)

只需更改此代码:

var table = document.getElementById("create_table_test");

        function createTable() {
    document.getElementById("create_table").innerHTML += table;
        }

为:

var table = document.getElementById("create_table_test");

        function createTable() {
    document.getElementById("create_table").innerHTML = table.outerHTML;
        }

这将创建具有相同ids的相同表格。你可能想重新思考你的逻辑。