2010-09-27 107 views
0

我的網站已經創建了一個已經集成到ASP.NET網站的CSS/HTML框架工作。表單不通過JavaScript提交按鈕

在ContentPlaceHolder中,我有一個簡單的登錄表單。問題在於,我正在使用圖像的onclick事件來提交表單。它通常很簡單,但這次我遇到了問題。

<div id="login"> 
    <form action="index.aspx" method="post" id="nothingForm" name="nothingForm"> 
    </form> 
    <form action="https://google.com.au" method="post" id="loginform" name="loginform"> 
     <input type="text" name="uname" value="username" onfocus="if(!this._haschanged){this.value=''};this._haschanged=true;"/> 
     <input type="password" name="pword" value="password" onfocus="if(!this._haschanged){this.value=''};this._haschanged=true;"/> 
    </form> 
    <br /><img src="images/login.gif" alt="" onclick="document['loginform'].submit()" /> </div> 

我要堅持另一種形式,真正形成之前進行的onclick =「文件[‘登錄表單’]。提交()」實際工作。當然,情況並非如此,但我無法在網上找到任何解決方案。

有沒有其他人遇到過這個?

+0

檢查並查看您的內容佔位符是否在表單內。這可能會導致表單提交問題... – EJC 2010-09-27 04:11:47

+0

爲什麼不使用服務器端控件呢?你正在使用ASP.NET,有一個內置的登錄小工具... – EJC 2010-09-27 04:16:13

+1

即使沒有「nothingForm」,你的代碼似乎也能正常工作。您可以在公共網站或JSBin.com上重現問題嗎?你是否遇到了特定瀏覽器的問題? – brianpeiris 2010-09-27 04:27:39

回答

1

你的問題是該頁面已經有一個圍繞所有代碼的形式。表單不能嵌套,因此您的第一個表單標記將被忽略,並且結束標記將結束外部表單。

您必須將表單放置在已有表單之外。

+0

這樣做,謝謝Guffa!永遠不會想到檢查嵌套的表單... – Robert 2010-09-27 05:00:31

2

你試過document.getElementById("loginform").submit()?我認爲這會更好,因爲我從來沒有見過任何人像以前那樣訪問文檔本身的元素。可能會有某種奇怪的副作用。

+0

感謝您的回覆。我確實嘗試過,沒有運氣。 – Robert 2010-09-27 04:52:40

+0

...或document.forms [「form-id」]。submit() – secretwep 2013-10-24 19:19:55

相關問題