我的目标是使用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>
答案 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
的相同表格。你可能想重新思考你的逻辑。