2017-08-13 65 views
-3

我知道这已经有几种不同的方式,但我对Javascript的理解仍然非常基础,我似乎无法理解如何实现我找到的解决方案,所以我问。我有一个隐藏的div。我想从表单中获取元素,然后使用它们来创建成本估算表。我可以跟随控制台中的变量,所以我知道它们已被定义并正确工作。以下是我有:如何使用javascript创建表格?

<div class="results_box" id="control_box"> 
     <div id="invoice_box"> 

     </div> 
     </div>` 

unction displayResults(batting, delivery) { 
var box=document.getElementById("control_box"); 
var invoice=document.getElementById('invoice_box'); 
invoice.append('<table><tr><td>Quilt size in inches:</td><td> + size + </td></tr><tr><td>Cost per square inch:</td><td> + patCost + </td></tr><tr><td>Cost of batting:</td><td> + batting + </td></tr><tr><td>Shipping and handling:</td><td> + delivery +</td></tr><tr><td>Total Cost:</td><td></td></tr></table<button class="btn btn-info" type="submit" id="basic-submit">Contact me about this estimate</button>'); 
displayResults(box.style.display="block"); 

}

这里是呼叫

displayResults(batting, delivery); 

大多数变量是全球性的,但那些2是本地的。这失败了,我确信你可以告诉我为什么,但是在我看到错误消息之前重新加载页面并重置控制台,所以我甚至不能告诉我该怎么修复。任何帮助将受到欢迎。

+2

你的JavaScript有这么多的错误,我不知道从哪里开始。你没有Concatination,HTML标签被破坏,对append函数的基本误解。我建议你退后一步并学习基础知识。 –

+0

'.append(HTMLstring)'无论如何都是一个jQuery函数。一旦你解决了其他问题,你想'invoice.innerHTML ='

...
';' –

+0

为什么你要调用'displayResults(box.style.display =“block”);'在最后? – JohnnyAW

回答

1

使用document.createElement('table')和追加childNodes(tr th and td),并添加textNodes到TD元素(或其他元素)