【问题标题】:MVC change input value from Javascript during Form SubmitMVC 在表单提交期间从 Javascript 更改输入值
【发布时间】:2021-04-30 20:44:35
【问题描述】:

表单提交后,需要在进入控制器之前更改用户输入。以下解决方案更改了值,但 从 JavaScript 替换后,HTML 输入字段上显示的已修改输入。

需要替代方法来更改模型级别的值;因此,用户看不到提供的输入正在改变。

<script>
$(document).ready(function () {    
    $("#submitButton").click(function (event) {
        var element = document.getElementById("RawHtml");
        var val = document.getElementById("RawHtml").value;
        document.getElementById("RawHtml").value = val.replace(/</g, '&lt;');
     });
});
</script>

@using (Html.BeginForm())
{
    <div class="field">
        @Html.LabelFor(model => model.Name)
        @Html.EditorFor(model => model.Name)
    </div>
    <div class="field">
        @Html.LabelFor(model => model.RawHtml)
        @Html.EditorFor(model => model.RawHtml)
    </div>
    <div>
        <input name="Submit" type="submit" id="submitButton" />
    </div>
}

【问题讨论】:

    标签: javascript asp.net-mvc asp.net-mvc-4 model form-submit


    【解决方案1】:

    你可以试试下面的:

    如果您不希望用户知道提供的输入已更改然后通过,则在它到达控制器 ActionResult 时更改提供的输入。

    例子:

    [POST]
    public ActionResult Demo(ModelName model){
        string finalHtml= model.RawHtml.Replace("value to be replaced","replacement value for existing value");
        //further use finalHtml to store in DB
    } 
    

    【讨论】:

      猜你喜欢
      • 2011-10-18
      • 1970-01-01
      • 2015-08-02
      • 2023-03-26
      • 2018-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-04
      相关资源
      最近更新 更多