【发布时间】:2012-03-19 19:35:01
【问题描述】:
我有一个 Javascript 的问题,它一直困扰着我很长一段时间。我有一个名为 search.js 的外部文件,它与它加载到的 .html 文件位于同一文件夹中。
我在 HTML 中用来加载 javascript 文件的代码是:
<script type="text/javascript" src="search.js"></script>
从我读过的所有网站中,我都找不到代码的问题。
另外,我知道 javascript 文件中的语法必须正确才能使其正常工作,所以这是我的 search.js 中的 Javascript 代码:
$(document).ready(function(){
$('#searchForm').submit(function(){
var lookfor = $("#billSearched").val();
alert(lookfor);
var a = $(this).attr('action');
alert(a);
a = a.replace("__search_term__",lookfor);
alert(a);
window.location.href = a;
return false;
});
});
我已经在另一个项目中运行了这段代码,它运行得很好,我改变的只是字段的名称,即 billSearched。
如果有任何其他原因导致 Javascript 无法在我的页面中加载,请留言或评论。
提前致谢!
编辑
完整的html代码:
<html>
<head>
<title>Bills</title>
<script type="text/javascript" src="/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="/search.js"></script>
<link rel="stylesheet" href="style.css">
</head>
<body bgcolor="#0066CC" color="FFFFFF">
<table>
<tr>
<td style="color:white"><b>Products</b></td>
<td style="color:white">Price</td>
<form method="POST" id="searchForm" action="{% url ps.views.search searchTerm='__search_term__' %}">
{% csrf_token %}
<td><input type="text" id="billSearched"></td>
<td><input type="submit" value="Search"></td>
</form>
</tr>
{% for x in products %}
<tr>
<td style="color:white">{{ x.name }}</td>
<td style="color:white">{{ x.price }}</td>
</tr>
{% endfor %}
</tr>
</table>
</body>
【问题讨论】:
-
您看到了什么错误?控制台中有任何东西吗?您是否在该页面上加载 jquery,并在 search.js 之前加载它?
-
链接是否正确?当您使用 net 选项卡查看 JS 文件时,它是否显示为 200?控制台有错误吗?
-
有一个活生生的例子的链接?导致您的问题的原因可能有很多。你打错了脚本的位置。您在某处有一个影响相对 URL 的 BASE 标记,或者您在 search.js 脚本之后加载了 jQuery……任何东西。我们需要更多信息。
-
你能在
$('#searchForm')之前加上alert('loaded');吗? -
在您的 HTML 示例中,您的搜索脚本以 /
/search.js为前缀,而您的 jQuery 脚本则没有。这是正确的吗?
标签: javascript python html django load