2013-10-10 115 views
0

这是我的一段代码,它不能以预期的方式工作。能不能给我任何想法,我有什么错JavaScript调用函数不起作用

<html> 
<body> 
<form> 
    <input type="submit" value="Check" onclick="f(x, y, z)"/> 
</form> 
</body> 
<script type="text/javascript"> 

var x = prompt("Enter the number",""); 
var y = prompt("Enter the number",""); 
var z = prompt("Enter the number",""); 

function f(x, y, z) 
{ 
    // first, check that the right # of arguments were passed. 
    if (f.arguments.length != 3) { 
     alert("function f called with " + f.arguments.length + 
       "arguments, but it expects 3 arguments."); 
     return null; 
    } 


} 
</script> 
</html> 
+0

未来,你应该说出问题所在。你期望什么,发生了什么。 –

+0

嗨,首先,我检查传递的参数是否匹配3个参数。但是,它仍然不工作..任何想法? – Sakthivel

回答

2

您应该检查arguments.length,不f.arguments.length

编辑: @TheMobileMushroom也指出,参数长度将是3连如果参数是空字符串。你可以把它改成

if (!x || !y || !z) 

不要使用arguments.length

+0

嗨,伙计,我仍然面临同样的问题。任何想法? – Sakthivel

+0

问题是什么?该函数是否被调用? x,y和z的值是什么? –

+0

我通过“提示”获取用户的价值。请参阅我的代码。对于函数f(),我从用户获取值。 – Sakthivel

3

您呼叫将始终有3个参数的函数。也许你想检查参数是否不是空的?

if (x=='' || y=='' || z==''){} 
0

尝试将脚本标签放置在表单标签之前,因此x,y和z将在之前声明。

相关问题