Re: Multiple Submit
| From: | Jim Lucas | Date: | Mon, 26 Feb 2007 23:19:55 +0000 |
| Subject: | Re: Multiple Submit | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-249474@lists.php.net to get a copy of this message | ||
Dan Shirah wrote:
Okay, I partially figured it out! YAY! I only needed to have one form object. *<form name="inputForm" action="" method="post" enctype="multipart/form-data">* Instead of putting an action in the form, leave it blank....and then specify the forms action based on which button is clicked. *<input type="submit" name="retrieve" value="Retrieve" onclick=" this.form.action='CSPayment3.php';" />* And this will $_POST all your entered values as it should. Now all I have to figure out is how to have: *<a href="javascript:checkForm()" title="Save">Save</a>* Run through all my form checks and then $_POST to my save.php page. On 2/26/07, Jim Lucas <lists@cmsws.com> wrote:Change this line: <a href="javascript:checkForm()" title="Save">Save</a>* to this <input type="button" value="Save" /> and then in the <form ...> tag add: onsubmit="checkForm();" I would also run through your checkForm() function and make sure that it is returning true or false always. -- Enjoy, Jim Lucas Different eyes see different things. Different hearts beat on different strings. But there are times for you and me when all such things agree. - RushDan Shirah wrote:Hello all, I have a page that has multiple submits on it. One submit is within my javascriptfor form checking, the other submit is a button used topopulateall customer information if an order ID is entered. Problem: I cannot get the two to coincide at the same time. They bothusethe submit function to send the data to the same page instead of their unique individual pages. Code: Below are the code snipets. <?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <HEAD> <script language="JavaScript"> <!-- function closeThis() { if (window.confirm("Are you sure you want to cancel the paymentrequest?"))this.window.close(); } *function checkForm() {* // ** START ** if (inputForm.cc_phone_number.value == "") { alert( "Please enter a phone number." ); inputForm.cc_phone_number.focus(); return; } if (inputForm.receipt.value == "") { alert( "Please select whether or not a receipt was requested." ); inputForm.phone_number.focus(); return; } if (inputForm.cc_first_name.value == "") { alert( "Please enter a first name." ); inputForm.cc_first_name.focus(); return; } if (inputForm.cc_last_name.value == "") { alert( "Please enter a last name." ); inputForm.cc_last_name.focus(); return; } if (!(document.inputForm.cc_comments.value =="")) { if (document.inputForm.cc_comments.value.length > 250) { alert("The Comments must be less than 250 characters.\nIt iscurrently "+ document.inputForm.window_name.value.length + " characters."); document.inputForm.window_name.focus(); return; } } * document.inputForm.submit();* } //--> </script> <LINK rel="stylesheet" type="text/css" href="../../CSS/background.css"> </head> <body> *<form name="inputForm" action="save.php" method="post" enctype="multipart/form-data">* <table align="center" border="0" cellpadding="0" cellspacing="0" width="680"> <tr> <td height="13" align="center" class="tblhead"><strong>Credit Card Information</strong></td> </tr> *// LOTS OF FORM DATA REMOVED FOR EMAIL LENGTH* <table align="center" border="0" cellpadding="0" cellspacing="0" width="680"> <tr> *This is the other submit that I need to go a page other than the one specified in the <form>* *<td width="62"><a href="DeferredPayment3.php"><input type="submit" name="retrieve" value="Retrieve"></a></td>*<td width="8"></td></tr> </table> <br /> <br /> <table align="center" border="0" cellpadding="0" cellspacing="0" width="680"> <tr> *Call to the javascript checkForm function* *<td width="64" align="left"><a href="javascript:checkForm()" title="Save">Save</a></td> * <td width="616" align="left"><a href="javascript:closeThis()" title="Close">Close</a></td> </tr> </table> </form> </body> </html>I see a few things now that are wrong with this. I thought they were comments but now that you have explained that it was a nested for, it make a little more sense. You cannot nest forms. if you want to have the for submitted to a different location, then you have to use one form, with function that modify the action value and change it to the correct url and then submit the form. Try this: <form action="original.php" method="get" onsubmit="return false;" > <input type="submit"onclick=" alert("Original:"+this.form.action); this.form.action = 'new.php'; alert("New:"+this.form.action); " /></form> -- Enjoy, Jim Lucas Different eyes see different things. Different hearts beat on different strings. But there are times for you and me when all such things agree. - Rush