函数来自单独的文件,FireBug:SyntaxError document.getElementsByClassName

时间:2012-12-03 17:01:47

标签: javascript firebug

在页面的头部,我包含.js文件

<script src="ajax.js" language="javascript" type="text/javascript"></script>

在html文件中调用该函数的按钮

<button type='button' id="submit" onclick="javascript:Action(2,0,10)" >Search</button>

js功能

function Action(var a,var jump,var number)

var texts = document.getElementsByClassName("textField");

当网站午餐萤火虫显示错误时

SyntaxError: syntax error
var texts = document.getElementsByClassName("textField");

当我试图从网站firebug调用该函数时显示此消息

ReferenceError: Action is not defined
Action(2, 0, 10);

有什么问题?因为我试图从另一个文件中调用该文件?如果是我怎么解决它?

... 将功能更改为此功能无法解决问题:

function Action(a,jump,number)

ajax.js

<script>
function Action(a,jump,number)
{
var texts = document.getElementsByClassName("textField");
var value = "FirstName="+texts[0].value+"&LastName="+texts[1].value+"&Id="+texts[2].value+"&DateBirth="+texts[3].value+"&CellPhone="+texts[4].value+"&Text="+texts[5].value+"&ImageSource="+texts[6].value;
var insert = "?"+value;
var get = "?Jump="+jump+"&NumberToGet="+number+"&"+value;
if (a == 1){
   loadXMLDoc("get.php"+get,"view");
}else if (a == 0){
   loadXMLDoc("insert.php"+insert,"view");
}
}

... loadXMLDoc()=简单的ajax函数。

2 个答案:

答案 0 :(得分:1)

删除var关键字,以更改操作功能的签名。

function Action(a,jump,number)

答案 1 :(得分:1)

问题在于

function Action(var a,var jump,var number)

不确定为什么FireBug会显示下一行的语法错误。请查看function statements以获取正确的语法:

function action (a, jump, number) {
    var texts = document.getElementsByClassName("textField");
    …
}

小写的名称不是必须的,但是大写的名称通常只用于常量和构造函数。

此外,您不应在事件处理程序属性中使用javascript:方案。 onclick="action(2,0,10)"就足够了。