0

更新

既然我这么快就得到了你对这个问题非常有帮助的答案,我已经重新考虑了这个问题。我想我需要把它分解成两个小要求,所以我正在更新这个问题。

在我的 ASP.NET MVC 4 应用程序中,当用户在焦点位于特定文本框中时按下键盘上的 enter 键时,我需要它:

场景 1:必须调用适当的服务器端操作。如果用户在光标位于不同文本框中时按下回车键,则必须调用另一个操作。

场景 2:如果用户在焦点位于当前页面上任一表单的任何文本框时按下键盘上的 Enter 键,则必须将表单连同所有表单数据 (HttpPost) 一起回发到控制器上的操作在 that 的 action 属性中指定<form>

我如何完成这两个场景?

4

4 回答 4

3
$('#idOfTextbox').keypress(function(e) {
    if(e.which == 13) {
        $.ajax({
        //.. Your values go here...
        });
    }
});

如果要截取提交的表单,可以使用ajaxForm 插件。这样,您可以在页面上拥有多个表单,并且在提交表单时,它将对表单的 action 属性中指定的 action 方法进行 AJAX 调用。然后,您将能够处理 ajax 调用的“成功”回调中的响应。

于 2012-12-11T18:02:48.860 回答
1

您可以使用 javascript 或简单地将每个输入放在一个不同的输入中,其中<form>包含一个按钮 type="submit"。

于 2012-12-11T18:02:29.760 回答
1
element.onkeydown = function(event) {
    //do something on keydown (enter is keyCode === 13)
};
于 2012-12-11T18:02:40.180 回答
1

你可以这样做:

$('#idOfTextbox').keypress(function(e) {
    if(e.which == 13) {
       $.ajax({

       url: './savedata',//Your method name, that is to be called
       type: 'POST',
       contentType: 'application/json',//Type of data you want to post
       data: JSON.stringify({ obj: sampleobject }),//object of post-object i.e. data being posted
       success: function(result) {
       //Logic to handle success
        }  
       error: function(){}//Handle error here  
     }
}); 

我已经给出了一个示例来调用一个方法,该方法位于您当前正在使用其视图的同一控制器上。

于 2012-12-11T18:23:05.717 回答