2012-01-02 44 views
1

如何通過Request.Form檢查提交圖像是否被點擊?檢查是否通過Request.Form點擊提交圖像

以下檢查是否提交按鈕被通過的Request.Form點擊通過返回提交按鈕的值,如果點擊:

<form action="Default.aspx" runat="server" method="post" id="newform"> 
<input type="submit" id="submit" value="Submit!" runat="server" /> 
</form> 

<% 
if (Request.Form["submit"] != null) //TRUE 
{ 
    Response.Write("Submit button pushed"); 
} 

Response.Write(Request.Form["submit"]); //Returns "Submit!" 
%> 

以下檢查是否提交圖像通過的Request.Form點擊,但被點擊圖像後,不返回任何值:

<form action="Default.aspx" runat="server" method="post" id="newform"> 
<input type="image" id="subimg" src="solar_image.gif" alt="Can't show image" value="Submit Image!" runat="server"/> 
</form> 

<% 
if (Request.Form["subimg"] != null) //FALSE 
{ 
    Response.Write("Image Submit button clicked!"); 
} 

Response.Write(Request.Form["subimg"]); //Doesn't return "Submit Image!" 
%> 
+0

在什麼瀏覽器中看到這個?它在其他瀏覽器中的工作方式是否一樣? – 2012-01-02 11:41:27

+0

我試過IE和Firefox。 與之前相同的結果。 – Birdman 2012-01-02 13:42:34

回答

1

上面的代碼對我的作品在IE 9和Chrome。唯一可以複製的方式是將Firefox用作瀏覽器。

此鏈接揭示更多的光線的問題Firefox 4.0 beta — as well as IE and Opera — do not send name/value for input type=」image」; only .x and .y coordinates are sent.

下面的檢查工作在每一個我測試過的瀏覽器:

//Checking both x and y co-ordinates to be doubly safe 
Request.Form["subimg.x"] != null && Request.Form["subimg.y"] != null 
0

按照MDN documentation

「壁虎2.0點擊時只發送x和y座標,不再是元素名稱/值「

嘗試打印Request.Form。如果響應中有x和y,則可以檢測到圖像是以這種方式點擊的。