3

我有两个不同的输入字段,它们有各自的提交按钮,我希望用户能够将他们的输入输入到任何一个文本框中,然后按回车键并具有与单击提交相同的效果按钮。目前,在文本框中输入一些内容并按回车键没有任何作用。我正在使用 HTML 和 JavaScript 以及 ASP .NET MVC3。我的代码如下所示:

的HTML

<table>
<tr>
    <td><span class="labelText">Text1</span></td> <td><input id="text1" type="text" placeholder="Enter Text1"/> </td> <td style="width: 110px; text-align: left; margin-left: 5px"><button class="medium awesome blue" id="sendText1">Send Text1</button></td>
</tr>
<tr>
   <td> <span class="labelText">Text2</span> </td> <td><input id="text2" type="text" placeholder="Enter Text2"/> </td>   <td style="width: 110px; text-align: left; margin-left: 5px"> <button class="medium awesome blue" id="sendText2">Send Text2</button> </td>
</tr>

JavaScript

$('#sendText1').click(function () {
        $('#text2').val("");
        var text1 = $("#text1").val();
        $('#loadingUsageInfo').css({ 'visibility': 'visible' });
        if (text1 == "" || text1 == 'Enter Text1') {
            alert('Enter Text First');
            return;
        }
        $.ajax({
            url: '@Url.Action("ShowResult1", "Folder")',
            type: 'POST',
            contentType: 'application/json; charset=utf-8',
            data: JSON.stringify({ input1: text1 }),
            traditional: true,
            success: function (result) {
                $('#info').html(result);
            }
        });
    });

    $('#sendText2').click(function () {
        $('#text2').val("");
        var text2 = $("#text2").val();
        $('#loadingUsageInfo').css({ 'visibility': 'visible' });
        if (text2 == "" || text2 == 'Enter Text2') {
            alert('Enter Text First');
            return;
        }

        $.ajax({
            url: '@Url.Action("ShowResult2", "Folder")',
            type: 'POST',
            contentType: 'application/json; charset=utf-8',
            data: JSON.stringify({ input2: text2 }),
            traditional: true,
            success: function (result) {
                $('#info').html(result);
            }
        });
    });

提前致谢!

4

3 回答 3

1

在你的 js 代码下面添加这个

$('#text1, #text2').keypress(function(e) {
  if (e.which == 13) {
    $('#sendText1, #sendText2').trigger('click');
  }       
}​​​​​​);

触发器- 执行附加到给定事件类型的匹配元素的所有处理程序和行为。

因此,我们在按键上绑定两个文本输入并调用按钮的所有绑定。

另请参阅jsFiddle上的工作原理

于 2012-07-21T23:02:59.227 回答
0

您的文本字段不知道它们应该在某处提交值。form您可以通过标签包围它们来让他们知道。

于 2012-07-21T22:46:45.567 回答
0

我最终做了这样的事情。

$("#textbox").keypress(function (e) {
    var code = (e.keyCode ? e.keyCode : e.which);
    if (code === 13) {
        e.preventDefault();
        $("#btn").trigger("click");
    }
});
于 2015-02-18T18:54:16.463 回答