Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > 2 button form + which button was pressed

Reply
Thread Tools

2 button form + which button was pressed

 
 
Bill_W_Stephens@yahoo.com
Guest
Posts: n/a
 
      04-04-2006
I need a form with two buttons and ability to detect which button was
pressed. I got this code to work using a javascript global variable,
but I know there must be a better way using DOM. Any suggestions?


<html>
<head>
<script language="JavaScript" type="text/javascript">
// global var: which button I am pressing
var btnWhichButton;
//================================================== ======
// Check the input fields of the form
//================================================== ======
function chkMyForm() {
alert(btnWhichButton.value);
document.SubmitExpenseForm1.action="#";

// If Delete Record
if (btnWhichButton.value == "Delete Record")
{
document.SubmitExpenseForm1.DeleteRecordParm.value = 'Y' ;
window.document.SubmitExpenseForm1.submit();
return;
}

// Otherwise do validation
chkTextArea();
document.SubmitExpenseForm1.DeleteRecordParm.value = 'N' ;
window.document.SubmitExpenseForm1.submit();
}

//================================================== ======
// Check Text Area
//================================================== ======

function chkTextArea() {
// additional validation...
alert("Extra Validation done here")
}

</script>

</head>
<body>

<form class="noLF" name="SubmitExpenseForm1"
action="javascript:chkMyForm();" >
<input TYPE=HIDDEN NAME="ExpenseCode" value="AUTO">
<input TYPE=HIDDEN NAME="AcctPeriod" value="02">
<input TYPE=HIDDEN NAME="AcctYear" value = "2006">
<input type="hidden" name="DeleteRecordParm">

<!-- Submit Record Button -->
<input type="submit" NAME="Submit" value="Submit Record"
onclick="btnWhichButton=this">

<!-- Delete Record Button -->
<input type="submit" NAME="DeleteRecord" value="Delete Record"
onclick="btnWhichButton=this">

</form>

</BODY>
</HTML>

 
Reply With Quote
 
 
 
 
RobG
Guest
Posts: n/a
 
      04-04-2006
http://www.velocityreviews.com/forums/(E-Mail Removed) said on 04/04/2006 1:23 PM AEST:
> I need a form with two buttons and ability to detect which button was
> pressed. I got this code to work using a javascript global variable,
> but I know there must be a better way using DOM. Any suggestions?


Change your function to be a property of an object and have the button's
click event set a property of that object rather than of the window
(global) object.



> <html>
> <head>
> <script language="JavaScript" type="text/javascript">


The language attribute is deprecated, remove it but keep type.


> // global var: which button I am pressing
> var btnWhichButton;
> //================================================== ======
> // Check the input fields of the form
> //================================================== ======
> function chkMyForm() {


Change to:


var chkMyForm = (function()
{
var btnWhichButton;

return {
check : function(){
alert(btnWhichButton.value);

// Do real checking based on value of btnWhichButton
// Essentially put body of your current function here

},
setWhichButton : function(btn){
btnWhichButton = btn;
}
};
})();


Then in the form:

<form action="" onsubmit="chkMyForm.check()" ... >

<input type="submit" name="SubmitRecord" value="Submit Record"
onclick="chkMyForm.setWhichButton(this)">

<input type="submit" name="DeleteRecord" value="Delete Record"
onclick="chkMyForm.setWhichButton(this)">

</form>



[...]
>
> <form class="noLF" name="SubmitExpenseForm1"
> action="javascript:chkMyForm();" >


Don't munge the action attribute, use an onsubmit attribute (see above).


[...]

> <!-- Submit Record Button -->
> <input type="submit" NAME="Submit" value="Submit Record"
> onclick="btnWhichButton=this">


It's not good to use 'Submit' as a form control name, it can too easily
become 'submit' and mask the form's submit() method. It's not a problem
here, but good to avoid anyway.


[...]


--
Rob
Group FAQ: <URL:http://www.jibbering.com/FAQ>
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Figuring out which form button was pressed darrel ASP .Net 19 01-30-2006 04:15 PM
finding which button is pressed Jonathan Crawford ASP .Net 5 01-24-2006 04:44 PM
Determining which Button was pressed Keith Patrick ASP .Net 4 02-22-2005 10:40 PM
Which button pressed? =?Utf-8?B?RXJpYyBOZWxzb24=?= ASP .Net 7 09-26-2004 01:09 PM
How to detect that a key is being pressed, not HAS been pressed earlier!?? Rune Python 6 01-29-2004 12:39 PM



Advertisments