用户开始填写表单

时间:2017-04-16 16:35:01

标签: 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.IsNullOrEmpty(Model.Result))
{
    <div class="result">The result is: @Model.Result</div>
}

如果用户开始在表单中输入,我怎样才能使上面的div(类'result')消失?

为了给出一些上下文,该应用程序是一个单独的页面,您可以在其中提供一个网址,并在下面得到一个结果,我想在输入新网址后立即清除结果。

2 个答案:

答案 0 :(得分:0)

这是单向的。

&#13;
&#13;
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;
&#13;
&#13;

答案 1 :(得分:0)

由于您使用的是ASP.net Core,因此可以从Action和Model State处理它

所以在帖子之后,只需清除你的ModelState并返回如下视图:

ModelState.Clear();
return View(<some View>);