首页 > 解决方案 > NET Core - 在输入更改时提交,而不是单击按钮

问题描述

目前,我有一个在我的控制器中调用方法的表单。它将一个字符串作为参数发送给 my IActionResult(字符串始终是一个数字,因为我是从 1 到 12 之间的类型范围的输入中获取它的)。该方法如下所示:public IActionResult ChangeForecastMonths(string forecastMonths)我认为的代码如下:

<form asp-action="ChangeForecastMonths">
    <input asp-for="FutureForecastMonths" name="forecastMonths" type="range" class="custom-range" min="1" max="12" step="1" />
    <input type="submit" value="Save" class="btn btn-primary" />
</form>

我想要做的是——而不是在ChangeForecastMonths单击提交按钮时调用该方法——在输入字段更改其值时实际调用它。

标签: asp.net-corerazor

解决方案


您可以挂钩change()输入事件,然后submit()在父表单上触发 a,如下所示:

<form asp-action="ChangeForecastMonths">
  <input asp-for="FutureForecastMonths" name="forecastMonths" type="range" class="custom-range" min="1" max="12" step="1" />
  <input type="submit" value="Save" class="btn btn-primary" />
</form>

@section Scripts
{
  <script>
    $('form input').change(function() {
        $(this).closest('form').submit();
    });
  </script>
}

结果: 在此处输入图像描述


推荐阅读