【问题标题】:HTML button on click should hide form if success如果成功,单击 HTML 按钮应隐藏表单
【发布时间】:2016-09-14 09:14:24
【问题描述】:

我有以下cshtml:

using (Html.BeginForm(MVC.ProbleemRapport.ActionNames.Form, MVC.ProbleemRapport.Name, FormMethod.Post, new { id = "probleemForm" }))
    {

                <button type="submit" id="verzendenBtn"  class="btn actie" title="@StartSchermResource.BtnSend">@StartSchermResource.BtnSend</button>
    }

我有一个执行以下操作的 jquery:

$('#verzendenBtn').click(function () {

        $('#probleemForm').find('.error').remove();

        // do some validation

        if (value === false) {
            return value;
        }

    });

现在,当我单击按钮时,验证工作正常。 但是当一切都完成并且帖子发生在控制器上时,我得到了一个 json 结果。这是正常的,因为我的操作返回一个包含“true”或“false”的 json 结果。

当结果为“真”时,我需要隐藏表单。 当结果为“假”时,我需要隐藏表单并显示出错的消息。

但现在唯一发生的事情是我收到了打开 json 的请求。

我忘记了什么?

【问题讨论】:

    标签: c# jquery json button


    【解决方案1】:

    你应该可以做到$('#probleemForm').hide();,如果你想再次显示它,只需将hide()更改为show()

    为消息创建类似&lt;div id="myMessage"/&gt;

    然后在$('#myMessage').val("something went wrong") 中,这当然会使表单保持打开状态。如果你想关闭表单,你可以使用标准的@URl.Action 并重定向,或者你可以做一个简单的Javascript alert('error messsage')

    【讨论】:

    • 我怎样才能防止json问题?
    • 什么时候收到打开json的请求?是不是就返回真/假。
    • 返回时。这是我的控制器动作的结果
    • 你能发布你的控制器动作吗?我希望看到它声明返回带有 return new Json(false); 之类的 JsonResult
    猜你喜欢
    • 1970-01-01
    • 2021-06-14
    • 2018-10-11
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多