在提交表单之前询问用户

Ask the user before submitting the form

我有一个包含以下代码的 cshtml 页面:

<form action='@Url.Action("ExportExcel", "Records")' method="post" target="_blank" onsubmit="return exportExcel(), true">
            <input type="hidden" name="filteredRecordsIds" id="filteredRecordsIds" value="" />
            <input id="btnExportExcel" type="submit" hidden="hidden" />
        </form>

js中的exportExcel函数:

function exportExcel() {
 $('#filteredRecordsIds').val(filteredRecords.map(function (record) { return record.Id }));
    return true;
}

在控制器记录中:

public ActionResult ExportExcel(string filteredRecordsIds)
        {...}

我想在提交前添加modal/popup,询问用户:

“您要导出计算吗?”有 2 个按钮选项:“是”或“否”。

根据用户的响应,我想将答案发送给控制器(作为第二个参数)。

我该如何添加?

谢谢!

你可以尝试去掉onsubmit,用一个按钮打开模态,然后点击是按钮调用export Excel:

<form action='@Url.Action("ExportExcel", "Records")' method="post" target="_blank" id="myForm">
    <input type="hidden" name="filteredRecordsIds" id="filteredRecordsIds" value="" />
    <input id="btnExportExcel" type="button" value="submit" data-toggle="modal" data-target="#exampleModalLong"/>
</form>

<!-- Modal -->
<div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="exampleModalLongTitle">Modal title</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                Would you like to export with calculations?
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-primary" onclick="exportExcel()">Yes</button>
                <button type="button" class="btn btn-secondary" data-dismiss="modal">No</button>
            </div>
        </div>
    </div>
</div>

js(在export Excel中提交表格):

function exportExcel() {
            $('#filteredRecordsIds').val(filteredRecords.map(function (record) { return record.Id }));
            $("#myForm").submit();
        }