【问题标题】:ASP.net undo preventDefault()ASP.net 撤消 preventDefault()
【发布时间】:2021-09-05 14:06:22
【问题描述】:

我有一个带有提交按钮(创建)的页面。

当添加另一个按钮(计算利润)时,表单提交会在用户点击它时启动。 所以我在点击计算利润按钮时添加了 preventDefault() 。 “计算利润”按钮具有调用此 javascript 代码的 onClick:

function NetProfit() {
            $('form').submit(function (ev) {
                ev.preventDefault();
            });
            document.getElementById('strRes').innerHTML = "";
            var pdata = new FormData();
            var price = document.getElementById('price').value;
            $.ajax({
                type: "POST",
                dataType: 'JSON',
                url: "/ExternalMerch/Product/NetProfitCalc",
                data: { price: price },
                success: function (data) {
                    var str = JSON.stringify(data).split(',');
                    for (i = 0; i < str.length; i++) {
                        document.getElementById('strRes').innerHTML = document.getElementById('strRes').innerHTML + str[i].replace('"', '').replace('"', '').replace(']', '').replace('[', '') + '</br>';
                    }
                },
                error: function (data) {

                }
            });
        }

现在当我点击计算利润时它工作正常, 但是当用户完成填写页面详细信息并单击创建时,页面不会提交。 我知道这是因为单击计算利润时的 preventDefault。 单击创建时有没有办法撤消此操作并启动表单提交?

【问题讨论】:

  • 您在何处以及如何添加preventDefault()?可以分享一下cshtml的代码吗?
  • 在主线程中添加了javascript,谢谢

标签: asp.net asp.net-mvc asp.net-core


【解决方案1】:

如果您只想在点击创建按钮时提交表单,您可以尝试在计算利润按钮中设置type="button",并在函数NetProfit中删除$('form').submit(function (ev) {ev.preventDefault();});。这是一个演示:

查看:

<form method="post">
    <div class="form-group">
        <label class="control-label">Product Name</label>
        <input class="form-control" />
    </div>
    <input type="button" value="Calculate Profit" onclick="NetProfit()" />
    <div class="form-group">
        <label class="control-label">Available Quantity</label>
        <input class="form-control" />
    </div>
    <input type="submit" value="Create"/>
</form>

js:

function NetProfit() {
            alert("Calculate Profit");
        }

结果:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 2014-04-12
    • 2013-06-06
    相关资源
    最近更新 更多