Re: Javascript and $_POST
| From: | Jon Anderson | Date: | Thu, 08 Feb 2007 13:46:01 +0000 |
| Subject: | Re: Javascript and $_POST | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-248571@lists.php.net to get a copy of this message | ||
I'm no JavaScript expert, but I could maybe suggest an alternate method: use document.getElementById() or document.getElementsByName()
AFAIK, the direct document.xyz doesn't work exactly the same way accross browsers (if at all).
e.g. (WARNING! TOTALLY UNTESTED CODE!)
function checkInputValue(item,onError) {
if (item = document.getElementsByName(item)[0]) {
if (item.value != "") {
return(true);
}
}
alert(onError);
item.focus();
return(false);
}
function checkForm() {
elements = new Array('cc_phone_number');
errors = new Array('Please enter a phone number');
for (i=0;i<elements.length;i++) {
if (!checkInputValue(elements[i],errors[i])) {
return(false);
}
}
document.getElementsByName('inputForm')[0].submit();
}
Dan Shirah wrote:
Okay, I edited my page per some suggestions here. Below is what I now have: <script language="JavaScript"> function checkForm() { // ** START ** if (inputForm.cc_phone_number.value == "") { alert( "Please enter a phone number." ); inputForm.cc_phone_number.focus(); return; } ******Lots of other checks here, just left out for length****** document.inputForm.submit(); } </script> <title></title> <LINK rel="stylesheet" type="text/css" href="../../CSS/background.css"> </head> <body> <div align="center"> <h2></h2> <h3>Submit a New Payment.</h3> </div> <form name="inputForm" action="save.php" method="post" enctype="multipart/form-data"> ******Lots of form data here****** <table align="center" border="0" cellpadding="0" cellspacing="0" width="680"> <tr> <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> Now when I submit my page it still perfroms all of the javascript checks correctly, but once it gets to the document.inputForm.submit(); part it returns the following error. Error: Object doesn't support this property or method. Code: 0 On 2/7/07, Paul Novitski <paul@juniperwebcraft.com> wrote:At 2/7/2007 01:34 PM, Dan Shirah wrote:I have a form that uses Javascript to validate form field entries,and ifthey are incorrect it returns an error to the user. After the Javascript processing is complete, it submits the form to mysavepage. However it seems that once the processing is complete and itpasses tothe save page, none of my $_POST variables are being passed.Of course, all of your form fields need to be inside the same <form></form> tags as your submit button. The sample HTML you posted did not indicate that you'd done this. Regards, Paul __________________________ Paul Novitski Juniper Webcraft Ltd. http://juniperwebcraft.com