如何使用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 = '';
}
答案 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)