【问题标题】:Buttons not working after AJAX, does not get parameters to the controllersAJAX 后按钮不起作用,无法将参数传递给控制器
【发布时间】:2019-06-15 15:07:27
【问题描述】:

我对 AJAX 还是很陌生。我了解添加新元素后,新元素不会附加任何事件。

我有一个用于创建业务的表单,它打开一个模式,我们填写字段,然后通过 AJAX 添加它,然后在数据表中添加一行。 此行包含用户的名称,但完成后,我的按钮不采用参数名称,并且添加图像需要企业名称才能工作。

$("#formCreateBusiness").submit(function (event) {

    event.preventDefault();
    var myformdata = $("#formCreateBusiness").serialize();

    if (!$(this).valid()) {
        return;
    }

    $.post("/Administration/Admin/CreateBusiness", myformdata)
        .done(function (dataResponse) {
            toastr.success("Created business succesfully");
            $("#CreateBusinessModal").modal('hide');

            var buttons = <a class="btn btn-info btn-sm" 
    href="/Administration/Admin/AllLogbooksForBusiness/${dataResponse.name}">
            <i class="fas fa-pencil-alt"></i>
            Manage Logbooks
        </a>
        <a class="btn btn-primary btn-sm" style="margin-top:5%"

    href="/Administration/Admin/AddImageToBusiness/${dataResponse.name}">
            <i class="fas fa-images"></i>
            Add Image
        </a>`;

            $('#table').DataTable().row.add([dataResponse.name, dataResponse.location, dataResponse.description, buttons]).draw();

        }).fail(function (dataResponse) {
            toastr.error(dataResponse.responseJSON.message);
        });
});

【问题讨论】:

  • 您的var buttons 中缺少一个`。它应该是 var buttons = `
  • 谢谢!很好看!

标签: jquery ajax model-view-controller


【解决方案1】:

您的代码中缺少'。在var buttons = 之后添加' 以修复语法。

你的代码是:

 var buttons = <a ...

只要改成这样:

var buttons = '<a ...

...</a>';

建议使用 IDE 或适当的代码编辑器,因为使用它会在将来为您突出显示此类语法错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多