• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 516
  • Last Modified:

Determining which submit button is hit?

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
thomasschmidt
Asked:
thomasschmidt
  • 3
  • 2
1 Solution
 
anguslaiCommented:
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
 
thomasschmidtAuthor Commented:
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
 
Michel PlungjanIT ExpertCommented:
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
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

 
thomasschmidtAuthor Commented:
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
 
Michel PlungjanIT ExpertCommented:
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
 
Michel PlungjanIT ExpertCommented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

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.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now