给出错误。我已将代码放在</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>
答案 0 :(得分:9)
您无法在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>
...
答案 1 :(得分:3)
直接将myFunction保留在脚本标记中
i.e
<script>
function myFunction() {
.....
}
</script>
答案 2 :(得分:1)
来自jQuery docs:
传递给.ready()的处理程序保证在DOM准备好后执行,因此这通常是附加所有其他事件处理程序并运行其他jQuery代码的最佳位置。
因此,在您的onclick建立之后才会创建您的功能。因此无法找到该功能。您需要将其移出$(document).ready(function(){})
。
答案 3 :(得分:0)
你必须在$document.ready
之外移动这个功能,然后你将有两个选择:第一个移动到<head>
或第二个移动它在关闭$document.ready
括号之前。对函数myFunction(){alert("inside my function");};