2012-12-13 46 views
0

我跟着knockout.js網站上的基本教程之一,現在我只是想讓它在本地主機上工作。在頭部,我包含了兩個文件:knockout.js和misc_form.js。麻煩越來越knockout.js與PHP一起工作

<head> 
<script src="/knockout.js"></script> 
<script src="/misc_form.js"></script> 
</head> 

我要省略代碼misc_form.js因爲我沒有修改它,它在實時knockout.js教程工程100%。

這裏的HTML

//form.php 
function display_form(){ 
?> 
<table> 
    <thead><tr> 
    <th>Passenger name</th><th>Meal</th><th>Surcharge</th><th></th> 
    </tr></thead> 
    <!-- Todo: Generate table body --> 
    <tbody data-bind="foreach: seats"> 
    <tr> 
     <td><input data-bind="value: name" /></td> 
     <td><select data-bind="options: $root.availableMeals, value: meal, optionsText: 'mealName'"></select></td> 
     <td data-bind="text: formattedPrice"></td> 
     <td><a href="#" data-bind="click: $root.removeSeat">Remove</a></td> 
    </tr>  
</tbody> 
</table> 
<button data-bind="click: addSeat">Reserve another seat</button> 
<? 
} 

編輯 - 我改變了路徑的文件,現在我發現了以下錯誤

Uncaught TypeError: Cannot read property 'nodeType' of null //in reference to knockout.js 
+0

它不會顯示這樣的情況,它會在我將其更改爲http://localhost/misc_form.js時運行 – user1852176

回答

1

檢查的路徑爲您的腳本文件,這些看起來奇怪。嘗試訪問網頁瀏覽器中的http://localhost/Applications/XAMPP/xamppfiles/htdocs/misc_form.js,您是否看到您的JavaScript代碼?

從網址,我猜他們應該是:

<head> 
<script src="/knockout.js"></script> 
<script src="/misc_form.js"></script> 
</head> 

因爲htdocs很可能所投放了作爲/的文件夾。

+0

我已將其運行,但如果不是,則無法啓動爲您的提示!我將腳本文件更改爲這裏有人建議http://stackoverflow.com/questions/9128015/knockout-syntax-錯誤 – user1852176

+0

不錯,很高興聽到。我看你已經爲了丹尼爾的回答而去了。詹姆斯的回答也值得一看。 'defer =「defer」'對瀏覽器說,在加載腳本之前,* *可能會加載頁面dom,[.ready()](http://api.jquery.com/ready/)表示頁面dom *必須*在腳本之前加載。 – Douglas