最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

JavaScript, onsubmit - Stack Overflow

matteradmin9PV0评论

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
Post a comment

comment list (0)

  1. No comments so far