如何在ASP.Net MVC中设置默认按钮

时间:2017-03-16 08:38:56

标签: html asp.net-mvc

这是我的HTML代码:

@using (Html.BeginForm("Index", "EmployeeList", FormMethod.Post, new {defaultbutton = "searchBtn" }))
            {
  @Html.TextBox("SearchString", ViewBag.SearchString as string, new { @id = "SearchString", @class = "form-control", placeholder = "Search Name" })

<button type="submit" name="MyButton" value="Export" class="btn btn-sm btn-danger">

<button type="submit" name="MyButton" value="Search" id="searchBtn" class="btn btn-sm btn-warning">
}

根据我的页面设计,我必须在“搜索”按钮之前编写“导出”按钮的html代码。

当我在填写搜索文本后按Enter键时,单击“导出”按钮,而不是单击“搜索”按钮。

2 个答案:

答案 0 :(得分:7)

您可以处理kewdown事件:

$(function() {
        console.log("antes de readTextFile");
        readTextFile("file:///D:/carlota/eusruveyadmin/manuales/ficheropprueba.txt")

    });

    function readTextFile(file)
    {
        console.log("readFile principio");
        var rawFile = new XMLHttpRequest();
        rawFile.open("GET", file, false);
        rawFile.onreadystatechange = function ()
        {
            if(rawFile.readyState === 4)
            {
                if(rawFile.status === 200 || rawFile.status == 0)
                {
                    var allText = rawFile.responseText;
                    console.log("readFile fichero ",allText);
                }
            }
        }
        rawFile.send(null);
    }

答案 1 :(得分:0)

如果您希望在任何表单上都有一个默认按钮,添加一个按钮就很容易了。以下是一个简单的示例。请注意,我需要将defaultbutton用作选择器而不是id,但是如果希望它接受id,则很容易要求在哈希之前添加前缀。

还请注意,使用名称“ defaultbutton”可能会与其他人的代码冲突(并且缺少数据前缀意味着可能会与将来的html规范中添加的“ defaultbutton”功能发生冲突)。 / p>

下面是一个简单的示例。更改closest以检查defaultbutton属性将允许单个表单具有用于不同组件的不同默认按钮。

//Load this script on any pages that need to support default buttons.
$(document).bind('keydown', function(e) {
    if (e.which === 13) {
        var button = $(e.target);
        if (button.attr('type') != 'text') {
            return true;
        }
        var parentform = $(e.target).closest('form');
        var selector = parentform.attr('defaultbutton');
        var targetbutton = parentform.find(selector);
        if(targetbutton.length > 0) {
            targetbutton.trigger('click');
            return false;
        }
        return true;
    }
});
<!-- Example usage.  Just add a defaultbutton attribute to your form-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form defaultbutton='#candy'>
  <input type='text' id='text' placeholder='text' />          <br /><br />
  <input type='submit' value='toys'  id='toys' onclick='alert("Toys") ;return false;' />
  <br /><br />
  <input type='submit' value='candy' id='candy' onclick='alert("Candy");return false;' />
  <br /><br />
  <input type='submit' value='money' id='money' onclick='alert("Money");return false;' />
  <br /><br />
</form>