Javascript 当用户开始填写表单时清除字段
我有一个包含表单的视图:Javascript 当用户开始填写表单时清除字段,javascript,html,asp.net-core,Javascript,Html,Asp.net Core,我有一个包含表单的视图: <form asp-controller="UrlP" asp-action="RegisterInput" method="post"> Url: <input asp-for="Url" /> <br /> <button type="submit">Go!</button> 网址: 走! 基于同样的观点,我从上一次提交的材料中得到了一个结果: @if (!string.IsNullOrEmp
<form asp-controller="UrlP" asp-action="RegisterInput" method="post">
Url: <input asp-for="Url" />
<br />
<button type="submit">Go!</button>
网址:
走!
基于同样的观点,我从上一次提交的材料中得到了一个结果:
@if (!string.IsNullOrEmpty(Model.Result))
{
<div class="result">The result is: @Model.Result</div>
}
@if(!string.IsNullOrEmpty(Model.Result))
{
结果是:@Model.result
}
当用户开始在表单中键入时,如何使上面的div(类“result”)消失
为了提供一些上下文,该应用程序是一个单独的页面,您可以在其中提供一个url,并在下面得到一个结果,我希望在输入新url后立即清除结果。这里有一种方法
window.onload=函数(){
//将onkeypress事件处理程序附加到所有文本输入
document.querySelectorAll('form[type=text]')).forEach(函数(输入){
input.onkeypress=hideResult;
});
};
函数hideResult(){
var result=document.querySelector('.result');
//删除结果(如果存在)
如果(结果){
result.parentNode.removeChild(结果);
}
}
结果是:@Model.result
由于您使用的是ASP.net Core,因此可以从操作和模型状态处理它
因此,在发布后,只需清除ModelState并返回如下视图:
ModelState.Clear();
return View(<some View>);
ModelState.Clear();
返回视图();
我已经删除了asp.net-core标记,因为这个问题与asp.net-core无关,而是关于javascript/html和客户端问题(发生在浏览器中而不是服务器上)。解决方案将涉及JS,但由于表单是通过asp标记启动的,因此我希望在表单开始编辑时会有一些asp回调(我是asp新手)@Tseng:我已经加入了asp网络核心标签。这个问题不需要任何前端技术干扰,可以通过asp来处理code@Tushar当前位置您显然没有阅读问题。我如何在上面进行div(类“result”)当用户开始在表单中键入时立即消失?他清楚地询问当用户开始键入时如何隐藏div标记,重点是开始键入。这发生在浏览器中,只能在客户端处理,即JavaScript。这是典型的客户端验证scenario@Thomas:它与ASP.NET核心无关,除非您转到asp验证摘要
和asp验证
标记帮助程序,但从您的代码看,您似乎不是在寻找模型验证,因此除非所显示的字段与(视图)模型验证相关,否则这些将不起作用,而OP并不是这样要求的。他在用户开始键入时询问