Solved

Determining which submit button is hit?

Posted on 1998-05-28
6
481 Views
Last Modified: 2008-02-01
I have a form which submits a lot of text and images(file) to an ASP page, and it has two submit buttons on it, i do a onsubmit in the beginning form tag, like this:

<FORM ACTION="preview.asp" ENCTYPE="MULTIPART/FORM-DATA" METHOD="POST" NAME="UPLOADFORM" OnSubmit="return CheckIT();">

here is the bottom of the form

<INPUT TYPE="SUBMIT" NAME="Action" VALUE="PREVIEW">
<INPUT TYPE="SUBMIT" NAME="Action" VALUE="ACCEPT">

here is the CheckIT function

      function CheckIT(){
            
            var LogoOK = 0;
            var InsetOneOK = 0;
            var InsetTwoOK = 0;
            
            if (document.UPLOADFORM.Logo.value == "") {      LogoOK = 1;      }
            if (document.UPLOADFORM.InsetOne.value == "") {      InsetOneOK = 1;      }
            if (document.UPLOADFORM.InsetTwo.value == "") {      InsetTwoOK = 1;      }

            if (LogoOK == 1 || InsetOneOK == 1 || InsetTwoOK) {
                  if(confirm("Mindst et af billedfelterne er tomme!\n\nVild du fortsætte?"))
                        return(true);
                  else
                           return(false);
            }
            else {
                  //document.UPLOADFORM.submit();
                  return(true);
            }
      }

how do i determine which submit button is clicked? this function checks when both buttons are clicked, i only wan't to check when the accept button is clicked???
0
Comment
Question by:thomasschmidt
  • 3
  • 2
6 Comments
 
LVL 2

Accepted Solution

by:
anguslai earned 50 total points
ID: 1279370
Is your CheckIt() function inside the preview.asp?

if yes, you can use this simple condition check:
if(Request("orderBy")=="Accept") {
   //do whatever you like to do
}
0
 

Author Comment

by:thomasschmidt
ID: 1279371
No it's not inside the asp script, it's client side Javascript and CheckIT runs when the user submits via the <FORM ... onsubmit="CheckIT">, it doesn't submit before the criterias in checkit returns true. And it is the CheckIT function that needs to determine which button was clicked!
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 1279372
It is a lot simpler than you think:
remove the onSubmit from the form and chaneg the buttons to

<INPUT TYPE="BUTTON" NAME="Action" VALUE="PREVIEW" ONCLICK=" CheckIT('P')">
<INPUT TYPE="BUTTON" NAME="Action" VALUE="ACCEPT"  ONCLICK=" CheckIT('A')">

In the Checkit function you change
function CheckIT(){  
to
function CheckIT(Which){

and you can test if (Which=='A')

You hten just change all the return true's to
document.UPLOADFORM.submit(); as it seem you were playing with
and remove the return false's

Held og lykke (Er du norsk? Vild er da uden d?)

Michel

0
Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

 

Author Comment

by:thomasschmidt
ID: 1279373
Problem is with that solution that i can't check in the asp script wether or not it was a preview or an accept!

i tried to submit with document.UPLOADFORM.submit('ACCEPT') but that doesn't work. Problem with this type of form is that i can't use method=get to see what the querystring is all about!

I am from denmark, and yes there is no d in 'vil', spelling error.
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 1279374
When I said "and you can test if (Which=='A') " I meant that you should then DO something with that information before submitting:

<FORM ACTION="preview.asp" ENCTYPE="MULTIPART/FORM-DATA" METHOD="POST" NAME="UPLOADFORM" OnSubmit="return CheckIT(Which);">
.
.
<INPUT TYPE="HIDDEN" NAME="buttonPressed" VALUE="">
<INPUT TYPE="SUBMIT" NAME="Action" VALUE="PREVIEW">
<INPUT TYPE="SUBMIT" NAME="Action" VALUE="ACCEPT">
</FORM>

You can then do a
document.UPLOADFORM.buttonPressed.value = Which;
before submitting. Your asp should receive
buttonPressed=A or buttonPressed=P (or buttonPressed=
if you don't put anything into the field)

Hope this helps...

Michel (Originally from Copenhagen)
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 1279375
Sorry - the example is of course asuming my othe changes too:
<FORM ACTION="preview.asp" ENCTYPE="MULTIPART/FORM-DATA" METHOD="POST" NAME="UPLOADFORM">
...
<INPUT TYPE="HIDDEN" NAME="buttonPressed" VALUE="">

<INPUT TYPE="BUTTON" NAME="Action" VALUE="PREVIEW" ONCLICK=" CheckIT('P')">
<INPUT TYPE="BUTTON" NAME="Action" VALUE="ACCEPT"  ONCLICK=" CheckIT('A')">
</FORM>
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Dynamic Dropdowns 15 32
innerHTML 7 35
Javascript the "if condition with Or" 8 29
Why is initMap returning "not a function" error. 3 32
In this article, we'll look how to sort an Array in JavaScript, including the more advanced techniques of sorting a collection of records either ascending or descending on two or more fields. Basic Sorting of Arrays First, let's look at the …
This article discusses the difference between strict equality operator and equality operator in JavaScript. The Need: Because JavaScript performs an implicit type conversion when performing comparisons, we have to take this into account when wri…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question