Веб-формы, отправляющие конкретную форму с клавишей ввода (не нажимая) - PullRequest
3 голосов
/ 14 июня 2011

Скажем, у меня есть одна полностраничная форма, но внутри формы есть два или более события, которые должны иметь место при отправке: Login & Register

Site.Master:

<%@ Master Language="C#" AutoEventWireup="true" 
    EnableViewState="true" CodeBehind="Site.Master.cs" 
    Inherits="Site.SiteMasterPage" %>

<!doctype>
<html>
<head runat="server">
    <%-- stuff --%>    
</head>
<body>
<form ID="MainForm" action="" runat="server">

    <asp:Login id="LoginControl" runat="server" />    
    <asp:CreateUserWizard id="RegisterControl" runat="server" />

</form>
</body>
</html>

Если мой курсор сфокусирован внутри input type="text" для asp:Login, и я нажимаю Return (с отключенным javascript), страница отправляется, но я не вошел в систему.

То же самое происходит, когда я пытаюсь зарегистрироваться (заполняя createUserWizard и нажимая клавишу Return вместо того, чтобы фактически нажимать "Register", вызывая какое-то событие)

Isесть ли не-JavaScript решение для получения ключа Return для отправки правильной, в настоящее время сфокусированной части формы?

Ответы [ 2 ]

8 голосов
/ 14 июня 2011

Панель управления позволяет определить кнопку по умолчанию в пределах ее содержимого:

<asp:Panel runat="server" DefaultButton="submitButtonA">
 <asp:LinkButton ID="submitButtonA" runat="server" Text="Submit A"/>
</asp:Panel>

<asp:Panel runat="server" DefaultButton="submitButtonB">
 <asp:LinkButton ID="submitButtonB" runat="server" Text="Submit A"/>
</asp:Panel>
1 голос
/ 14 июня 2011

Кнопка по умолчанию звучит так, как будто это может быть ваш друг сегодня вечером - http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlform.defaultbutton.aspx

На самом деле это может быть не так, я никогда не пробовал без Javascript.

...