devxlogo

How can I program a form to submit multiple queries and show each response in a

How can I program a form to submit multiple queries and show each response in a

Question:
How can I program a form to submit multiple queries and show each response in a different frame?

Answer:
In JavaScript, the onClick event handler can be used to control many aspects of form submission. For example, the following code might be used to submit the same form data to two different servers:

<input type="submit" onclick=" form . action = 'first_URL' form . target = 'first_frame' form . submit (); form . action = 'second_URL'; form . target = 'second_frame'; form . submit (); return false;">

In this example, before each invocation of the form’s submit method, the action property is defined so that each call to the submit method sends the query data to a different server. Similarly, the target property is configured so that the the servers’ responses are shown in separate frames. This event handler code returns a false value to prevent the interpreter from submitting the form a third time. (Of course, we could also have omitted both the second submit call and the return statement to achieve the same result.)

Unfortunately, on the (Windows 95) browsers I tested, the code shown above does not perform the way it should. This is due in part to the fact that the ongoing browser war between Netscape Communications and Microsoft has caused both companies to rush production and thus release imperfect implementations of JavaScript.

Internet Explorer 3.0 fails because it does not support assignment to the form object’s action and target properties. Netscape Navigator 3.0 supports the assignment but does not properly handle multiple calls to the submit method, because Netscape does not issue the HTTP request until after the interpreter has returned from the event handler. As a result, only the last in a series of calls to the submit method works correctly.

Not all is lost; there are probably many ways to work around this problem. For example, if you have any control over the contents returned by the servers you are querying, you might be able to include an onLoad event handler with the first server’s response, so that when it is loaded, it resubmits the form to the second server. This is a rather difficult kludge, but it is possible.

Or you could wait for Microsoft and Netscape to finish debugging their JavaScript interpreters… 🙂

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist