文本框按下Enter键的功能

3

我有一个mvc3应用程序,在一个页面上我有一个文本框,允许用户搜索客户端,现在我正在努力实现一些功能,因为我是一个Windows表单和Windows Phone 8开发人员。我希望这里的文本框按下Enter键时执行搜索,我有一个用户可以点击搜索的按钮,但我知道大多数用户只点击Enter键!我正在使用JavaScript来调用函数!

按钮和文本框的HTML:

    <td>
<input value="Search..." id="SearchText" style="color:GrayText" onchange="SearchText" onfocus="javascript:this.value=''" onblur="javascript: if(this.value==''){this.value='Search...';}" />
                        <input id="searchbutton" type="button"  value="Search" class="button"/>
                    </td>

这是 JavaScript 代码:

<script type="text/javascript">
            $('#searchbutton').click(function(){
                var client = document.getElementById('SearchText').value;
                var textbox = document.getElementById('SearchText');
                var edittext = ", is not available!";
                var result = client + edittext;

                if (textbox.value == 'Search...') {
                    alert('Please enter a Client Name to search for ');
                    textbox.focus();
                }
                else {
                    alert(result);
                };


            });


        </script>

如何使文本框在按下回车键时触发函数?以下是表单的外观: enter image description here 对于这种编码,我很新,请帮忙!感谢!
4个回答

2
$('#searchbutton').click(search);
$('#SearchText').keypress(function(e){
     var code = (e.keyCode ? e.keyCode : e.which);
      if(code == 13) {
        search()
      }
});


function search(){
    var client = document.getElementById('SearchText').value;
            var textbox = document.getElementById('SearchText');
            var edittext = ", is not available!";
            var result = client + edittext;

            if (textbox.value == 'Search...') {
                alert('Please enter a Client Name to search for ');
                textbox.focus();
            }
            else {
                alert(result);
            };
}

非常感谢!这太棒了,难以置信它如此简单!谢谢Karaxuna。 - Arrie

2
$('#SearchText').on('keypress', function(e){

    var code = (e.keyCode ? e.keyCode : e.which);
             if(code == 13) {
             //write your code for search here..like searchbutton on click
             }
    });

也许还需要使用 e.preventDefault() - Joshua

1
我不知道你问题的确切答案,但你可以使用 tabindex 来按 tab 键跳转到按钮上,然后按 enter 键提交。

0

试试这个...

<input type="text" placeholder="Search" id="txtSearch"  />
<input type="button" value="Search" id="btnsearch" onclick="return Search();" />

<script type="text/javascript">
    $("#txtSearch").keyup(function (event) {

        if (event.keyCode == 13) {
            $("#btnsearch").click();
        }
    });

    function Search(){
             // do Something here.......
     }

</script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接