Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 0.5.8

Bug #8358 formSubmit gives error in IE fields named 'action'
Submitted: 2006-08-04 10:40 UTC
From: gapfontaine at gmail dot com Assigned: arpad
Status: Closed Package: HTML_AJAX (version 0.4.1)
PHP Version: 4.4.1 OS: *
Roadmaps: (Not assigned)    
Subscription  


 [2006-08-04 10:40 UTC] gapfontaine at gmail dot com (Guillaume Fontaine)
Description: ------------ In IE (my version: 6.0.2800), formSubmit(this, 'target') gives an error if one of the input fields is named 'action'. I guess because of <form action='script.php ...> ? Firefox doesn't have this issue. See example code. The example uses a submit button named 'action' but the same thing happens if it's a hidden or text input field. Using another name instead of 'action' such as 'act' or 'task' solves the problem. This is a pain because all of my scripts use $action to determine what to do :) Test script: --------------- <?php if( $_REQUEST["action"]=="go" ) { var_dump( $_REQUEST ); exit(0); } ?><html> <head> <script type="text/javascript" src="server.php?client=all&stub=all" language="JavaScript"></script> </head> </body> <pre id="target"> </pre> <form action="rpcTest.php" method="post" onSubmit="return !HTML_AJAX.formSubmit(this, 'target');"> <input type="text" name="text" value="some text"> <input type="submit" name="action" value="go"> </form> </body> </html> Expected result: ---------------- The name of the form input fields should not affect functionality. Actual result: -------------- Error from IE: Line: 1722 Char: 9 Error: HTTP Error Making Request: [404] Not found Code: 0 URL: (my script url, which is there!)

Comments

 [2006-08-04 12:22 UTC] gapfontaine at gmail dot com
I saw a previous post where var action = form.action; is changed to var action = for.getAttribute('action'); This works with FF but still gives an error in IE.
 [2006-08-04 15:33 UTC] gapfontaine at gmail dot com
After some trial and error with FF and IE, it seems that this works: var action = form.attributes['action'].value; instead of var action = form.getAttributes('action');
 [2006-08-04 18:31 UTC] User who submitted this comment has not confirmed identity
If you submitted this note, check your email.If you do not have a message, click here to re-send
MANUAL CONFIRMATION IS NOT POSSIBLE.  Write a message to pear-dev@lists.php.net
to request the confirmation link.  All bugs/comments/patches associated with this

email address will be deleted within 48 hours if the account request is not confirmed!