2013-10-10 3 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

Edit: @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 будут объявлены ранее.

Смежные вопросы