多行文本框未提交
本文关键字:提交 文本 | 更新日期: 2023-09-27 18:05:12
我正在写一个asp.net页面,我在提交表单时遇到了一些麻烦。我有一个多行文本框。当用户点击enter时,表单应该提交,但却插入了新的一行(这通常是人们遇到的相反的问题)。下面是相关的正文代码:
<div align="left">
Name:
<asp:TextBox ID="Name" runat="server"></asp:TextBox>
<asp:Button ID="Clear" runat="server" onclick="Clear_Click"
Text="Clear Chat Log" UseSubmitBehavior="False" />
</div>
<br />
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="UpdateTimer" EventName="Tick"/>
<asp:AsyncPostBackTrigger ControlID="Go" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:TextBox id="Chat" runat="server" ReadOnly="true" TextMode="MultiLine" Width="400" Height="630" />
<asp:Timer runat="server" Interval="500" OnTick="Timer_Tick" ID="UpdateTimer"/>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Go" EventName="Click" />
</Triggers>
<ContentTemplate>
<br/>
<asp:TextBox id="Message" runat="server" Width="400" Wrap="true" Height="40px"
TextMode="MultiLine" AutoCompleteType="Disabled" AutoPostBack="True"/>
<asp:Button id="Go" runat="server" Text="Go" Width="40px" Height="40px" OnClick="goClicked" UseSubmitBehavior="true"/>
</ContentTemplate>
</asp:UpdatePanel>
我猜问题出在更新面板上。基本上,如果用户在"Message"文本框(它们都在清单的底部)中点击enter,"Go"按钮应该会触发
谢谢你的帮助,马克斯
您需要在多行文本框中输入键,然后提交表单;使用Javascript。一个示例:
<input type="text" id="txtMultiline" onkeydown="if(event.keyCode == 13) document.getElementById('btnSubmit').click()"/>
试试Ctrl+Enter。此外,Facebook的消息页面也有类似的行为,但你可以选择模式:"快速回复"vs按钮。
添加另一个文本框,像这样:
<asp:TextBox ID="txtSubmitOnEnter" runat="server" Width="0" style="visibility:hidden;display:none;" />