Вот форма внутри диалогового окна с 2 вариантами выбора перед отправкой.Второй вариант в сочетании с двумя TextBox
для указания времени.Это диалоговое окно по умолчанию скрыто, но появляется при нажатии кнопки.В форме, если щелкнуть Confirm
, должна быть выполнена отправка формы.Если вместо этого нажать кнопку Cancel
, диалоговое окно снова станет скрытым без перезагрузки страницы.
<div id="dialog">
<form runat="server">
<asp:RadioButton GroupName="option" id="option1" text="Option1" value="option1" runat="server" >
<asp:RadioButton GroupName="option" id="option2" text="Option2" value="option2" runat="server" />
<div id="setTime">
<asp:TextBox TextMode="Number" id="setHour" runat="server" min="0" max="23" step="1"/>
:
<asp:TextBox TextMode="Number" id="setMinute" runat="server" min="0" max="59" step="1"/>
</div>
<asp:Button id="confirm" text="Confirm" runat="server" onclick="Output"/>
<input type="button" id="cancel" value="Cancel"/>
</form>
</div>
Public Sub Output(ByVal sender As Object, ByVal e As EventArgs)
If option1.Checked Then
Option1()
Else
Option2(1)
End If
End Sub
Событие, вызванное нажатием клавиши Enter, довольно противоречиво:
Когдаoption1
выбран, клавиша Enter выполняет нормальную отправку формы.
Когда выбран option2
и любое TextBox
для времени введено неправильно, предупреждающее сообщение отображается как обычно (через JavaScript, не показывается вприведенный выше код).
Когда выбран option2
и правильно введен любой TextBox
для времени, нажатие клавиши Enter не выполняет ничего из указанного кода, что отличается от нажатия кнопки Confirm
мышью.
Когда я не нажимаю ничего после появления диалогового окна, затем нажимаю Enter, эффект такой же, как нажатие кнопки Cancel
мышью - диалоговое окно исчезает без перезагрузки страницы.
Когда я щелкаю где-то после появления диалогового окна, затем нажимаю Enter, без эффекта.
Может кто-нибудь объяснить, почему существует такое несоответствие?особенно когда выбран option2
, я действительно не могу понять, почему он не может выполнить код, в то время как все нормально для option1
...