在asp.net文本框中按Enter键时附加分号

时间:2011-09-05 13:34:42

标签: javascript .net javascript-events

如何在asp.net文本框(web应用程序)中的文本中添加分号,按Enter键并将光标移动到下一行。

2 个答案:

答案 0 :(得分:0)

您可以在JavaScript中捕获keypress事件并检查它是哪个键。 “enter”的关键代码是13.因此,如果按Enter键,则加上分号并返回。像这样:

编辑(包含ASP.NET标记的更完整示例等)

<!-- page headers, other markup, etc. -->
<asp:TextBox ID="txtActiontaken" runat="server" />
<!-- other markup, the rest of the page, etc. -->
<script type="text/javascript">
  $(document).ready(function(){
    $('#<%=txtActiontaken.ClientID%>').keypress(function(e) {
      if(e.keyCode == 13) {
        // append a semi-colon to the control's value
        $('#<%=txtActiontaken.ClientID%>').val($(' <%=txtActiontaken.ClientID%>').val()+';');
      }
      return true;
    });
  });
</script>

答案 1 :(得分:0)

这是一个使用纯JavaScript的解决方案。

HTML

<asp:TextBox ID="DemoTextBox" runat="server" 
        CssClass="textarea"
        TextMode="MultiLine"/>

Code Behind(onclick javascript event wire up)

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        DemoTextBox.Attributes.Add("onkeypress", "AppendSemiColon(this, event)");
    }
}

的JavaScript

function AppendSemiColon(objTextBox, evt) {
    if (evt.keyCode == 13) {
        objTextBox.value += ";";
    }
}