如何在asp.net核心中使用重置按钮?

时间:2020-07-16 17:29:41

标签: c# .net asp.net-core core

如何使用asp.net核心中的重置按钮删除表单输入,我想删除这些搜索过滤器以清除asp .net核心搜索过滤器,有人对此有解决方案,我很生气 请有人帮我,我需要你的帮助。 我使用函数javascript清除了这些输入,但是不起作用,

索引页:

<form  id="form">
    <div class="row">

        <div class="col-md-2">


            <div class="form-group">
                @Html.TextBox("nom", null, new { @class = "form-control ", placeholder = "Par nom",id="nom" })


            </div>
        </div>
        <div class="col-md-2">


            <div class="form-group">
                @Html.TextBox("prenom", null, new { @class = "form-control", placeholder = "Par prenom" ,id="prenom"})


            </div>
        </div>
        <div class="col-md-2">


            <div class="form-group">
                @Html.TextBox("email", null, new { @class = "form-control", placeholder = "Par email" ,id="email"})


            </div>
        </div>
        <div class="col-md-2">


            <div class="form-group">
                @Html.TextBox("telephone", null, new { @class = "form-control", placeholder = "Par telephone" ,id="telephone"})


            </div>
        </div>
        <div class="col-md-2">

            <p>


                <input type="submit" value="Search" class="btn btn-primary" />

                <button class="btn" type="reset" id="reset" onclick="resetFields()" asp-action="Clear" ><i class="fa fa-trash"></i></button>

            </p>

        </div>



    </div>
</form>


> Blockquote

操作索引:

public async Task<IActionResult> Index(string nom, string prenom, string email, string telephone, int? pageNumber, string currentFilter)
    {
        
        if (nom != null || prenom != null || email != null || telephone != null)
        {
            pageNumber = 1;

        }
        else
        {
            nom = currentFilter;
            prenom = currentFilter;
            email = currentFilter;
            telephone = currentFilter;
        }

        var personnels = from s in _context.personnels
                         select s;
        if (!String.IsNullOrEmpty(nom) || !String.IsNullOrEmpty(prenom) || !String.IsNullOrEmpty(email) || !String.IsNullOrEmpty(telephone))
        {
            personnels = personnels.Where(s => s.Nom.Equals(nom) || s.Prenom.Equals(prenom) || s.Email.Equals(email) || s.Telephone.Equals(telephone));
        }
        if(!String.IsNullOrEmpty(nom) && !String.IsNullOrEmpty(prenom) && !String.IsNullOrEmpty(email) && !String.IsNullOrEmpty(telephone))
        {
            personnels = personnels.Where(s => s.Nom.Equals(nom) && s.Prenom.Equals(prenom) && s.Email.Equals(email) && s.Telephone.Equals(telephone));
        }
            int pageSize = 20;
        return View(await Pagination<PersonnelModel>.CreateAsync(personnels.AsNoTracking(), pageNumber ?? 1, pageSize));


    }

编码javascript

function Reset() {
   
    document.getElementById('nom').value = '';
    document.getElementById('prenom').value = '';
    document.getElementById('email').value = '';
    document.getElementById('telephone').value = '';

    

    }

1 个答案:

答案 0 :(得分:0)

对不起,这是一个复制错误。在我的代码中,我写了Reset(),我想在搜索后清除过滤器并清除输入,但是如何使用此document.forms [“ form”]。submit(),我也尝试编写另一个代码,但是它不起作用,非常感谢您提供任何帮助。

索引操作:

public string searchNom { get; set; }
        public string searchPrenom { get; set; }
        public string searchEmail { get; set; }
        public string searchTelephone { get; set; }
        public async Task<IActionResult> Index(string searchNom, string searchPrenom, string searchEmail, string searchTelephone, int? pageNumber, string currentFilter)
        {
            
            if (searchNom != null || searchPrenom != null || searchEmail != null || searchTelephone != null)
            {
                pageNumber = 1;

            }
            

            var personnels = from s in _context.personnels
                             select s;
            if (!String.IsNullOrEmpty(searchNom) || !String.IsNullOrEmpty(searchPrenom) || !String.IsNullOrEmpty(searchEmail) || !String.IsNullOrEmpty(searchTelephone))
            {
                personnels = personnels.Where(s => s.Nom.Equals(searchNom) || s.Prenom.Equals(searchPrenom) || s.Email.Equals(searchEmail) || s.Telephone.Equals(searchTelephone));
                ViewData["sNom"] = searchNom ;
                ViewData["sPrenom"] = searchPrenom;
                ViewData["sEmail"] = searchEmail;
                ViewData["sTelephone"] =searchTelephone ;
                
            }

            else
            {
                ViewData["sNom"] = "";
                ViewData["sPrenom"] = "";
                ViewData["sEmail"] = "";
                ViewData["sTelephone"] = "";
            }
          
            
                int pageSize = 20;
            return View(await Pagination<PersonnelModel>.CreateAsync(personnels.AsNoTracking(), pageNumber ?? 1, pageSize));

我的index.cshtml

<form  method="post"id="form">
    <div class="row">

        <div class="col-md-2">


            <div class="form-group">
                <input type="search" name="searchNom" value="@ViewData["sNom"]?.ToString()" class="form-control" id="nom" />


            </div>
        </div>
        <div class="col-md-2">


            <div class="form-group">
                <input type="search" name="searchPrenom" value="@ViewData["sPrenom"]?.ToString()"  id="prenom"/>


            </div>
        </div>
        <div class="col-md-2">


            <div class="form-group">
                <input type="search" name="searchEmail" value="@ViewData["sEmail"]?.ToString()" id="email"/>


            </div>
        </div>
        <div class="col-md-2">


            <div class="form-group">
                <input type="search" name="searchTelephone" value="@ViewData["sTelephone"]?.ToString()" id="telephone"/>


            </div>
        </div>
        <div class="col-md-2">

            <p>


                <input type="submit" value="Search" class="btn btn-primary" />

                <button class="btn" type="reset" id="reset" onclick="Reset()"  ><i class="fa fa-trash"></i></button>

            </p>

        </div>



    </div>
</form>


        }

code.js

function Reset() {
   
    
   
    
  
    document.querySelector('input[name=searchNom]').value = null;
    document.querySelector('input[name=searchPrenom]').value = null;
    document.querySelector('input[name=searchEmail]').value = null;
    document.querySelector('input[name=searchTelephone]').value = null;
    }

重置按钮不起作用,有一个例外:未捕获的TypeError:无法将属性'selectedIndex'设置为null 重置时((索引):350) 在HTMLButtonElement.onclick((index :: 107)

相关问题