By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
432,009 Members | 1,643 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 432,009 IT Pros & Developers. It's quick & easy.

difference between return true; and return false;

P: n/a
Why does this work the way it does?
If someone could explain return true, and return false to me I'd
greatly appreciate it.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Form.html</title>
</head>

<body>
<script language="JavaScript">
function form1_onsubmit() {
var returnValue = false;
if (document.form1.txtName.value == "") {
alert("Please Enter your Name");
document.form1.txtName.focus();
}
else {
returnValue = true;
}
return returnValue;
}
</script>

<form action="formhandler.asp" method="post" name="form1" onSubmit="
return form1_onsubmit()">
name: <input type="text" name="txtName">
<input type="submit" value="Go">

</form>

</body>
</html>
w i l l
Jul 20 '05 #1
Share this Question
Share on Google+
5 Replies


P: n/a
"w i l l" <wi**********@yahoo.com> wrote in message
news:93********************************@4ax.com...
Why does this work the way it does?
If someone could explain return true, and return false to me I'd
greatly appreciate it.


When you return something from a function, that value gets returned to the
caller. For instance, say I had a method to multiply two numbers. Maybe the
code looks like this:

function multiply(num1, num2) {
return num1 * num2;
}
result = multiply(2, 4);

The function multiply will return the result of it's multiplication to
wherever it was called. The right-hand side of the result assignment is
where the function is called, so that is where the result is returned to.
So, in this case (with the parameters 2 and 4), it is the same as writing
result = 8;

When you are using return true or false with markup, you are indicating
whether or not you want the default action to happen after the javascript
has been executed. An example is needed:

<a href="somepage.html" onClick="alert('Hi'); return true;">Click Me</a>

When the link is clicked the javascript code for the onClick will run first,
and we get an alert. We have used return true, so that is saying when we
click OK to remove the alert, we do want to run the markup. So in this case
once we click OK to dismiss the alert, we would then be taken to
somepage.html. If we changed that to return false we would get the alert,
but wouldn't go to somepage.html.

So in your example if the method (form1_onsubmit) returns false, the default
behaviour of the form (action=formhandler.asp) won't run. In other words we
get the alert (thrown from inside the method), and when we click ok nothing
happens. If that method returns true though, the default behaviour will
occur, so the form will be submitted to the asp file.

Gareth
Jul 20 '05 #2

P: n/a
"w i l l" <wi**********@yahoo.com> wrote in message
news:93********************************@4ax.com...
Why does this work the way it does?
If someone could explain return true, and return false to me I'd
greatly appreciate it.


In a onxxxxx method where there is usually some form of standard processing
by the browser, it's just a way of specifying whether further standard
processing should take place.

Returning false means no, returning true means yes. So that example aborted
the submit if the user hasn't entered their name.

Nige
Jul 20 '05 #3

P: n/a
On Sat, 5 Jul 2003 04:49:02 +1000, "Gareth Church"
<ge******@bigpond.com.au> wrote:
"w i l l" <wi**********@yahoo.com> wrote in message
news:93********************************@4ax.com.. .
Why does this work the way it does?
If someone could explain return true, and return false to me I'd
greatly appreciate it.


When you return something from a function, that value gets returned to the
caller. For instance, say I had a method to multiply two numbers. Maybe the
code looks like this:

function multiply(num1, num2) {
return num1 * num2;
}
result = multiply(2, 4);

The function multiply will return the result of it's multiplication to
wherever it was called. The right-hand side of the result assignment is
where the function is called, so that is where the result is returned to.
So, in this case (with the parameters 2 and 4), it is the same as writing
result = 8;

When you are using return true or false with markup, you are indicating
whether or not you want the default action to happen after the javascript
has been executed. An example is needed:

<a href="somepage.html" onClick="alert('Hi'); return true;">Click Me</a>

When the link is clicked the javascript code for the onClick will run first,
and we get an alert. We have used return true, so that is saying when we
click OK to remove the alert, we do want to run the markup. So in this case
once we click OK to dismiss the alert, we would then be taken to
somepage.html. If we changed that to return false we would get the alert,
but wouldn't go to somepage.html.

So in your example if the method (form1_onsubmit) returns false, the default
behaviour of the form (action=formhandler.asp) won't run. In other words we
get the alert (thrown from inside the method), and when we click ok nothing
happens. If that method returns true though, the default behaviour will
occur, so the form will be submitted to the asp file.

Gareth

Excellent explination, Thanks!
Jul 20 '05 #4

P: n/a
In article <93********************************@4ax.com>, willis_31_40
@yahoo.com says...
Why does this work the way it does?
If someone could explain return true, and return false to me I'd
greatly appreciate it.


It's a boolean thing - you wouldnt understand.

Just kidding :)
--

Remove NOT from email address to reply. AntiSpam in action.
Jul 20 '05 #5

P: n/a
In article <93********************************@4ax.com>, willis_31_40
@yahoo.com says...
Why does this work the way it does?
If someone could explain return true, and return false to me I'd
greatly appreciate it.


Or better yet...

function understand() {
return false;
}
--

Remove NOT from email address to reply. AntiSpam in action.
Jul 20 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.