繁体   English   中英

如何在不重定向或重新加载页面的情况下更新字段/发布表单?

[英]How can i update a field / post a form without redirecting or reloading a page?

我有以下代码来更新我的数据库中的一个字段,该字段称为Flag ,它是一个 Boolean 字段。 如何在不重新加载页面和重定向的情况下更新flag字段。 我厌倦了 ajax/Jquery 但它第一次工作然后在更新<li>列表中的下一个项目时停止,在下一个列表上单击它在地址栏中显示 ID 和标志值但不更新记录仅在更新第一个时有效列表中的项目。

 <form id="updateflag">
         @if (item.Flag == "Off")
           {
            <input name="ID" type="hidden" value="@item.ID" />  //value changes based on the selected list item
            <input name="Flag" type="hidden" value="true" />//value changes based on the selected list item
            <button type="submit" class="btn btn-primary">&nbsp; @(Localizer["Turn Flag On"]) // value changes based on the selected list item</button>
            }
           @if (item.Flag == "On")
             {
              <input name="ID" type="hidden" value="@item.ID" />//value changes based on the selected list item
              <input name="Flag" type="hidden" value="false" />//value changes based on the selected list item
              <button type="submit" class="btn btn-primary">&nbsp; @(Localizer["Turn Flag Off"])</button>//value changes based on the selected list item
             }
  </form>

//上面的表单ID字段变化

我使用了以下 Ajax/Jquery,它工作了一次,然后在下一次尝试中显示了 url 中的发布数据,但没有更新该字段

$('#updateflag').submit(function (e) {
    e.preventDefault();
    let Data = $(this).serialize();

    $.post({
        type: 'POST',
        url: "/Customer/updateFlag",
        data: Data,
        success: window.location.reload()
    })
})

在不重定向的情况下单击按钮更新字段值并立即显示更新结果的最佳方法是什么?

根据你的jquery代码,我发现你只是为updateflag绑定了点击事件。

如果您有多个表单,那么 Jquery 单击绑定将仅适用于第一个表单。

您可以尝试为所有 forms 设置 class 并在 jquery 中使用 class 选择器,如下所示: <form id="updateflag" class="update"> , jquery: $('.update').submit

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM