给出一个错误。我把代码放在</body>
之前。仍然出现错误
<form action="" method="get" id="searchform" >
<input name="q" type="text" id="search" size="32" maxlength="128" class="txt">
<input type="button" id="hit" value="Search" onclick="myFunction();return false" class="btn">
</form>
JS,
<script type="text/javascript">
var nexturl = "";
var lastid = "";
var param;
$(document).ready(function () {
function myFunction() {
param = $('#search').val();
alert("I am an alert box!");
if (param != "") {
$("#status").show();
var u = 'https://graph.facebook.com/search/?callback=&limit=100&q=' + param;
getResults(u);
}
}
$("#more").click(function () {
$("#status").show();
$("#more").hide();
pageTracker._trackPageview('/?q=/more');
var u = nexturl;
getResults(u);
});
});
</script>
不能将myFunction
放在onclick
之后。当看到onclick
时,没有myFunction
的定义。
将JavaScript放置在<head>
标签中。同时,将函数移到ready()
之外。
:
<script type="text/javascript">
var nexturl ="";
var lastid ="";
var param;
function myFunction() {
param = $('#search').val();
alert("I am an alert box!");
if (param != "") {
$("#status").show();
var u = 'https://graph.facebook.com/search/?callback=&limit=100&q='+param;
getResults(u);
}
}
$(document).ready(function() {
$("#more").click(function () {
$("#status").show();
$("#more").hide();
pageTracker._trackPageview('/?q=/more');
var u = nexturl;
getResults(u);
});
});
</script>
</head>
<body>
...
直接在script标签中保留myFunction
i.e
<script>
function myFunction() {
.....
}
</script>
来自jQuery文档:
传递给.ready()的处理程序保证在DOM准备好后执行,因此这通常是附加所有其他事件处理程序和运行其他jQuery代码的最佳位置。
因此,直到onclick建立之后才创建函数。因此它找不到函数。您需要将其移出$(document).ready(function(){})
您必须将函数移动到$document.ready
之外,然后您将有两个选项:首先将其移动到<head>
或第二次将其移动到关闭$document.ready
括号之前。对函数myFunction(){alert("inside my function");};