0

我遵循了 knockout.js 网站上的基本教程之一,现在我只是想让它在 localhost 上运行。在头中,我包含了两个文件:knockout.js 和 misc_form.js。

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

我将省略 misc_form.js 的代码,因为我没有修改它,它在 live 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
4

1 回答 1

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很可能是作为/.

于 2012-12-13T01:14:46.403 回答