Run JavaScript before Form Submits

  • Thread starter Thread starter Scott M.
  • Start date Start date
S

Scott M.

Instead of using a submit button on your form, use a regular HTML button
that has an onClick event handler on it that calls a function.

In that function, do whatever you like and when you are done invoke
formName.submit()
 
Hi
How can I run a java script function before a form is submited back to the
server.
What I wish to do is have a upload form that when a user clicks the submit
button a javascript function opens a second window after this the buttons
onclick event should be run.

Is any of this possible.
 
call the javascript function and then return true.
the form will be submitted as normal.
eg
myButton.Attributes.add("onclick","doThisFirst();");

on the page

<script>
function doThisFirst() {
alert('hello');
return true;
}
</script>
 
Yep, this is why I am having such hard time seeing the
benefits of ASP.NET. So far I feel like they turned ASP
development with .NET into a beefed up version of
FrontPage. Where as on the windows side of things I think
it is a huge improvement.
 
Oh, I think you haven't worked with it long then. It is a completely new
paradigm. Much more powerful. Much more scaleable. Not even close to
anything that FP can do.

It just so happens that your question wasn't really a .NET question. It was
a client-side JavaScript question.
 
In the page_load event...

If IsPostBack() Then
'Second or subsequent trip to the server

Else
'Fist time data was submitted

End If
 
Instead of using a submit button on your form, use a regular HTML button
that has an onClick event handler on it that calls a function.
At the HTML level form objs have a OnSubmit() and OnReset() events
handlers...

With...

1) In you script tag...
function verifyForm(IncomingForm)
{
if(FORMISVALID)
return true;
else
return false;
}

2) In form tag(1 or more forms supported cause of IncomingForm param above
just send verifyForm(...) this)...
<form ... onSubmit="return verifyForm(this);">...</form>

Now you just need to add you form processing code and your ready to go...
 
Ok then,
But what Serverside code is required to make sure the submit button was
pressed and not a clear or browser refresh button.
 
Scott M. said:
In the page_load event...

If IsPostBack() Then
'Second or subsequent trip to the server

Else
'Fist time data was submitted

End If

OK but this doesn't stop the submit code from running if you press a
different button or refresh the page.
 
Use Javscript below
<script language="javascript">
function ConfirmOnSummit()
{
if (typeof(Page_ClientValidate) == 'function')
{
if (Page_ClientValidate())
{
if(confirm("What Ever u what to confirm or run a Java Script
code?")==1)
return true;
else
return false;
}
}
}
</script>
Create tage in aspx page.
<span onclick="javascript: return ConfirmOnSummit();"><asp:button
id="btnSubmit" runat="server" CausesValidation="False"
Text="Submit"></asp:button></span>

This Will surely work. It take all the advantage of Asp.Net

Thanks,

sswalia
MCAD, MCAD, OCA
 
Kenneth Keeley said:
OK but this doesn't stop the submit code from running if you press a
different button or refresh the page.

If you refresh the page, you are not re-submitting the data, you are
re-requesting the page with whatever data was posted previously.

If you want to prevent ASP.NET server-side code from running you could use
only HTML controls and the client-side JavaScript I described in my earlier
post.
 
Back
Top