JavaScript, onsubmit - Stack Overflow

I am trying to understand why onsubmit at Javascript is using an anonymous function to get it value lik

I am trying to understand why onsubmit at Javascript is using an anonymous function to get it value like that:

onsubmit = function() {return validForm();}

I know that onsubmit is taking a true or false values, but i can't understand how does the anonymous function is necessary to get the value of true or false for the onsubmit event, like this:

onsubmit = validForm();

I will be very thankful if some one can please help me understand this, Thank you all and have a nice day.

I am trying to understand why onsubmit at Javascript is using an anonymous function to get it value like that:

onsubmit = function() {return validForm();}

I know that onsubmit is taking a true or false values, but i can't understand how does the anonymous function is necessary to get the value of true or false for the onsubmit event, like this:

onsubmit = validForm();

I will be very thankful if some one can please help me understand this, Thank you all and have a nice day.

Share Improve this question asked Jul 23, 2012 at 13:37 Aviel FedidaAviel Fedida 4,1029 gold badges57 silver badges89 bronze badges 2
  • You can simple onsubmit = validForm – Andreas Louv Commented Jul 23, 2012 at 13:38
  • Thank you guys i got it now, have a nice day. – Aviel Fedida Commented Jul 23, 2012 at 13:49
Add a ment  | 

2 Answers 2

Reset to default 7

A valid assignment would be:

onsubmit = validForm;

You're assigning the function called validForm as the onsubmit handler. But, when you do this:

onsubmit = validForm();

You're assigning the result of calling the function validForm to the onsubmit handler. Unless validForm is returning a function, this won't work.

The reason the anonymous function assignment above works is, it is assigning a function to the onsubmit handler -- a function that in turn calls the validForm function when it is called.

You are calling validForm and setting onsubmit to its return value. In example:

function foo () {
    return "hi";
}

onsubmit = foo() // eq to onsubmit = "hi";

onsubmit = foo // onsubmit now has the same function as foo

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1741219094a4328273.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信