2017-08-13 67 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元素(或其他元素)