簡體   English   中英

如何在 ASP.NET Core 中實現表單重置按鈕?

[英]How to implement a form reset button in ASP.NET Core?

如何使用重置按鈕刪除表單輸入? 我想刪除這些搜索過濾器以清除 ASP.NET 核心搜索過濾器

我使用 JS function 來清除這些輸入,但它不起作用。

索引頁面:

<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 = '';

    

    }

這只是一個復制錯誤對不起,在我的代碼中我寫了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>


        }

代碼.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;
    }

重置按鈕不起作用,有一個異常:Uncaught TypeError: Cannot set property 'selectedIndex' of null at Reset ((index):350) at HTMLButtonElement.onclick ((index):107)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM