onclick doesn't work

K

kelvin

Hi,

I've this piece of code which does not work at all.
Can anyone point out my mistake?

I've 2 buttons. History button will call verifyFields() function and
lead to
different page for processing. verifyFields() is working fine and so
does the
history() function.

But,

the other save button doesn't work. It's supposed to call the save()
function and before executing the action, it will perform a check by
executing
checkFormFields(). However it does not execute these statements:
--------------------------------------------------------------------
document.ListForm.target="origin";
document.ListForm.action="ListByOrigin_updaterecord.asp?action=check";
--------------------------------------------------------------------
The links above have been verified and it's working.




<SCRIPT LANGUAGE="JavaScript">
<!--

function checkFormFields()
{
if(!isNumber(ListForm.destination.value))
{
alert("Destination must not contain numbers at all.");
ListForm.destination.focus();
return false;
}
return true;
}

function history()
{
document.ListForm.target="adhoc";
document.ListForm.action="ListByOrigin.asp?action=check";
}

function save()
{
if (checkFormFields() ) //doesn't execute these 2 lines.
{
document.ListForm.target="origin";
document.ListForm.action="ListByOrigin_updaterecord.asp?action=check";
return true;
}
}
//-->
</script>


<form action="" method="post" name="ListForm" onSubmit="return
verifyFields();">

<input name="submit" type="submit" value="History"
onClick="history()">

<input name="submit" type="submit" id="submit" value="Save"
onClick="return save();">

</form>
 
G

Grant Wagner

kelvin said:
Hi,

I've this piece of code which does not work at all.
Can anyone point out my mistake?

I've 2 buttons. History button will call verifyFields() function and
lead to
different page for processing. verifyFields() is working fine and so
does the
history() function.

But,

the other save button doesn't work. It's supposed to call the save()
function and before executing the action, it will perform a check by
executing
checkFormFields(). However it does not execute these statements:


<!-- Not needed.
function checkFormFields()
{
if(!isNumber(ListForm.destination.value))

Where is "isNumber()" defined? It's not in the source you provided. As a result any
attempt to call isNumber() will result in a syntax error.
{
alert("Destination must not contain numbers at all.");
ListForm.destination.focus();
return false;
}
return true;
}

function history()
{
document.ListForm.target="adhoc";
document.ListForm.action="ListByOrigin.asp?action=check";
}

function save()
{
if (checkFormFields() ) //doesn't execute these 2 lines.

As indicated above, checkFormFields() contains a call to an undefined function.
{
document.ListForm.target="origin";
document.ListForm.action="ListByOrigin_updaterecord.asp?action=check";
return true;
}

You use "return save()" on the form, but save() does not always return a value, you should
add "return false;" here. It may work without it, but it's a good habit to have functions
that are supposed to return something always explicitly return something.

//--> Not needed
</script>

<form action="" method="post" name="ListForm" onSubmit="return
verifyFields();">

<input name="submit" type="submit" value="History"
onClick="history()">

<input name="submit" type="submit" id="submit" value="Save"
onClick="return save();">

</form>

--
| Grant Wagner <[email protected]>

* Client-side Javascript and Netscape 4 DOM Reference available at:
* http://devedge.netscape.com/library/manuals/2000/javascript/1.3/reference/frames.html
* Internet Explorer DOM Reference available at:
* http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp
* Netscape 6/7 DOM Reference available at:
* http://www.mozilla.org/docs/dom/domref/
* Tips for upgrading JavaScript for Netscape 7 / Mozilla
* http://www.mozilla.org/docs/web-developer/upgrade_2.html
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,053
Latest member
BrodieSola

Latest Threads

Top