Проверьте, нажали ли на кнопку отправки ИЗОБРАЖЕНИЯ форму запроса. - PullRequest
1 голос
/ 02 января 2012

Как проверить, щелкнули ли IMAGE отправки с помощью 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!"
%> 

Следующие проверки проверяются, щелкнул ли IMAGE отправки через 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!"  
%>

Ответы [ 2 ]

1 голос
/ 02 января 2012

Приведенный выше код работает для меня в IE 9 и Chrome. Единственный способ, которым я могу копировать, - это использовать Firefox в качестве браузера.

Эта ссылка проливает больше света на проблемы Бета-версия Firefox 4.0, а также IE и Opera не отправляют имя / значение для типа ввода = "image"; отправляются только координаты .x и .y.

Следующая проверка работает во всех протестированных мной браузерах:

//Checking both x and y co-ordinates to be doubly safe
Request.Form["subimg.x"] != null && Request.Form["subimg.y"] != null
0 голосов
/ 02 января 2012

Согласно документации MDN :

"Gecko 2.0 отправляет только координаты x и y при нажатии, а не имя / значение элемента"

Попробуйте распечатать Request.Form.Если в ответе есть x и y, вы можете обнаружить, что вместо этого щелкнули изображение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...