Ответ 1
Вы можете установить кнопку UseSubmitBehavior = false
btnCategory.UseSubmitBehavior = false;
У меня есть приложение ASP.NET, где есть несколько кнопок ASP.NET и несколько простых кнопок HTML. Каждый раз, когда появляется текстовое поле, в которое попадает пользователь, кнопка ASP.NET пытается отправить форму.
Я знаю, что могу изменить defaultButton
, но я не хочу, чтобы была кнопка по умолчанию. Я просто хочу, чтобы это, когда пользователь нажимает кнопку ввода, ничего не делает.
Я пробовал установку defaultButton
в пустое, но это, похоже, не работает. Как запретить отправку формы кнопкой ASP.NET при нажатии клавиши ввода?
Вы можете установить кнопку UseSubmitBehavior = false
btnCategory.UseSubmitBehavior = false;
Вот что я использовал для решения этой проблемы.
<form runat="server" defaultbutton="DoNothing">
<asp:Button ID="DoNothing" runat="server" Enabled="false" style="display: none;" />
У меня также была проблема с ImageButton на моей MasterPage (кнопка выхода), которая была установлена в качестве кнопки по умолчанию (поэтому всякий раз, когда кто-то нажал Enter, он выходил из системы). Я решил это, используя следующую строку в событии Page_Load на каждой дочерней странице, которая немного похожа на работу, но она работает:
Form.DefaultButton = cmdSubmit.UniqueID;
Надеюсь, это поможет кому-то еще.
<asp:TextBox ID="TXT_Quality" runat="server" Width="257px"
onkeypress="return key_Pressed(event, this);">
</asp:TextBox>
function key_Pressed(e, textarea)
{
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 13)
{
return false;
}
return true;
}