开发者

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜