2012-07-20 28 views
1

我正在瀏覽Apple網站上的搜索框,發現它沒有輸入type =「submit」來發布表單,即使Javascript被禁用。沒有按鈕的郵政編碼

<form action="/search/" method="post" class="search" id="g-search"> 
    <div class="sp-label"> 
     <label for="sp-searchtext">Search</label> 
     <input type="text" name="q" id="sp-searchtext" accesskey="s"> 
    </div> 
</form> 

已經從來沒有真正探討它,我把它從這個就意味着你可以發佈形式,而不需要一個提交按鈕,它只是依賴於用戶按下回車鍵。

有兩個問題:1)所有瀏覽器都兼容嗎?那麼在IE 7中壓縮還將繼續工作嗎? 2)有沒有辦法在ASP.NET中做到這一點,而不使用asp:按鈕?我可能會把它放在一個佔位符內(我通常會使用defaultButton來允許頁面上有多個表單),但是如果我可以完全擺脫這個按鈕,那就更好了。

+0

我不知道我們是否可以使用__doPostBack('page','');這樣的東西,並呼籲在關鍵輸入這一點,但它再次使用Javascript ... :( – Moons 2012-07-20 12:04:20

回答

1

是的,當然是可以的,無論如何都可以。

的簡單的事情就是調用一個函數的onclick事件,它的提出是這樣的:

JQuery的:

$('#id_of_form').submit() 

的javascript:

document.name_of_my_form.submit(); 

document.getElementById('id_of_my_form').submit(); 

這麼簡單:)

+0

有沒有一種方法,不依賴於JavaScript?我很欣賞使用.net我可能依賴於它無論如何,但我會熱衷於知道沒有使用JS的可能性 – Chris 2012-07-20 13:02:03

+0

什麼是錯誤的JavaScript?有什麼網站現在不使用它? – MaVRoSCy 2012-07-20 13:36:16

+0

Javascript本身沒有什麼錯誤,我只是好奇地發現一個窗體可以發佈沒有它和沒有按鈕,有趣的是我創建了一個只有輸入type = text的虛擬表單(不是asp),Hitting返回會將它發佈到表單上的動作中,但是,在aspx頁面上做同樣的事情(讓它使用默認的asp .net形式)似乎以某種方式停止了這項工作,即使JS關閉了。 – Chris 2012-07-20 15:46:45