2011-08-30 61 views
0

这里是我的代码无法加载一个简单的函数

<script type="text/javascript" href="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 
<script type="text/javascript" href="js/js.js"></script> 
... 
<input type="text" name="city" onkeyup="loadStation(this.value);"/> 
... 

和js.js文件

//Load Stations 
function loadStation(stationCity){ 
    alert(stationCity); 
} 

当我尝试的onkeyup触发loadStation,什么也没有发生。 js/js.js的路径是可以的,因为在源文件中我可以加载它。

什么可能是错的?

编辑

我倒非常愚蠢的....而不是HREF = “” 它应该是SRC = “”。该funiest的是,即使你们有没有注意到:P

感谢

+0

你确定你的JavaScript源路径是正确的?它使用相对路径,所以如果你在页面'/ foo/bar.php'上,它会尝试从'/ foo/js/js.js'加载你的脚本,而不是'/ js/js.js'。 – detaylor

回答

4
你可能是错的`JS/js.js` 我建议使用Firebug检查你”不要从你的js文件中得到404错误。 您可能想要使用js文件的根相关链接:`/ js/js.js`,这样您就不会遇到子目录问题。

我有often professed the beauty of HTML CSS & JavaScript as an MVC pattern。所以我不会在这里进入,但是。你应该让你的HTML中.html文件,在.css文件你的CSS,而JavaScript在.js文件

使用内嵌的JavaScript事件属性休息,我经常形容漂亮的MVC模式,所以它的更好的附着在事件脚本本身:

//wrap this in a document.ready or window.onload event callback 
//-or- 
//place the script *after* the input element has been added to the dom 
var input; 
//replace with whatever selector 
input = document.getElementsByTagName('input')[0];works 
input.onkeyup = function(){ loadStation(this.value) }; 

...more code... 

function loadStation(val) 
{ 
    alert(val); 
} 

Fiddle

更几个调试问题: *您测试平HTML和JS文件LOCA LLY? *您是否将平面文件上传到服务器? *您是否可以发布内容所在的网址?

您正在使用href而不是script元素上的src

+0

随着/或不在js/js.js之前没有任何反应。在源代码中,我点击它,它会在源代码中加载js文件,所以路径是正确的。 – Warface

+0

@Warface,你在说什么“源代码”?你在用什么编辑器? – zzzzBov

+0

通过Chrome中的简单CTRL-U,您可以看到正确的源代码!然后您可以单击js/js.js路径,以便源代码加载js.js内容,并加载它以便路径正确。 – Warface

0

尝试添加像这样的onkeyup在你的js文件:

$('body').ready(function(){ 
    $('#idOfInput').onkeyup(function(){ 
     loadStation(this.value) 
    }); 
});