我有一个带有表单的视图:
<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>
}
如果用户开始在表单中输入,我怎样才能使上面的div(类'result')消失?
为了给出一些上下文,该应用程序是一个单独的页面,您可以在其中提供一个网址,并在下面得到一个结果,我想在输入新网址后立即清除结果。
答案 0 :(得分:0)
这是单向的。
window.onload = function () {
// attach onkeypress event handler to all text inputs
document.querySelectorAll('form [type=text]').forEach(function (input) {
input.onkeypress = hideResult;
});
};
function hideResult () {
var result = document.querySelector('.result');
// remove result if it exist
if (result) {
result.parentNode.removeChild(result);
}
}
&#13;
<div class="result">The result is: @Model.Result</div>
<form>
<input type="text" value=""><br>
<input type="text" value="">
</form>
&#13;
答案 1 :(得分:0)
由于您使用的是ASP.net Core,因此可以从Action和Model State处理它
所以在帖子之后,只需清除你的ModelState并返回如下视图:
ModelState.Clear();
return View(<some View>);