Problem related to document.form.submit() in ASP
There are 3 buttons on a web page. On clicking each button a same popup window (say window1) opens up. Now there is another button on this popup window (window1), which further opens up to another popup window (say window2). On selecting some value from the 'window2', that value is passed onto the 'window1'. There is a 'Find' link on a 'window1', which calls a javascript function 'clicked()':
<head>
<%
Dim command
command = Request.Form("开发者_如何学Chid");
Response.Write(“Value” & command); -- The value is not printed (Reason found after
analysis that may be because the form is not submitted
successfully)
%>
function clicked()
{
document.form.hid.value='FIND';
alert("before"); -- This message box appears
**document.form.submit();** -- after a lot of analysis the conclusion is that
this submit statement stops working (as on the status
bar 'Opening https:.....File1.asp?form=...' is not
displayed when 'after' message box appears
alert("after"); -- This message box appears
}
<body.......>
<% if command = "FIND" then
Response.Write ("Inside Find"); -- This message is not printed.
// some functonality
%>
<form ....>
<input type="hidden" name="hid" value="">
</form>
</body>
This full code works fine on my machine. But this code does not work properly when run on the client-side!, although the same server and the same deployed application is being accessed. There is no particular sequence/scenario but for eg. When say button1 clicked->window1 opens->window2 is opened->value selected->returned to window1->Clicked on Find-> clicked on Ok->returned on the main page. Then repeated the same scenario for say 3rd button. (Till now 'Find' link works fine). Now repeated the same scenario for 2nd button and here 'after' message is obtained but 'inside Find' is not printed!!
The document
object doesn't have a form
property.
The code only works if you have the attribute name="form"
on the form, and only if there is a single form with that name on the page. That is a bad name for a form, as there are other objects in the DOM that actually have a form
property (i.e. fields in a form).
You should give an unambiguous name to the form, and use the document.forms
collection to access the form instead of relying on that the form is added to the document namespace.
精彩评论