2010-02-20 85 views
0

網頁上有3個按鈕。在點擊每個按鈕時,一個相同的彈出窗口(比如window1)打開。現在在這個彈出窗口(window1)上還有另一個按鈕,它進一步打開到另一個彈出窗口(比如window2)。在從'window2'中選擇某個值時,該值將被傳遞到'window1'上。有一個「查找」鏈路上的「窗口1」,它調用javascript函數「點擊()」:與ASP中的document.form.submit()相關的問題

<head> 
<% 
Dim command 
command = Request.Form("hid"); 
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> 

這充分代碼工作正常,我的機器上。但是,在客戶端運行時,此代碼無法正常工作,儘管正在訪問相同的服務器和相同的已部署應用程序。沒有特定的順序/場景,但例如。 當說button1 clicked-> window1打開 - > window2打開 - > value selected->返回到window1->點擊Find->點擊Ok->返回主頁面。 然後爲第三個按鈕重複相同的場景。 (直到現在'查找'鏈接工作正常)。 現在重複第二個按鈕相同的情況下,這裏'後'的消息,但'內部查找'不打印!

+1

歡迎來到SO。你能檢查Firefox腳本控制檯的錯誤嗎?由於這與ASP無關,您可以將實際生成的代碼發佈到瀏覽器中嗎? – 2010-02-20 08:45:23

回答

0

document對象沒有form屬性。

該代碼僅適用於表單上具有屬性name="form"且只有在頁面上具有該名稱的單個表單的情況。這是表單的錯誤名稱,因爲DOM中還有其他對象實際上具有form屬性(即表單中的字段)。

您應該爲表單指定一個明確的名稱,並使用document.forms集合來訪問表單,而不是依賴於將表單添加到文檔名稱空間。