javascript - 如何防止触发表单提交操作?

标签 javascript jquery html ajax

这是我的表单,当我点击按钮时我有 Action 事件。

<form id="prefForm4" enctype="multipart/form-data" method="post" class="masters"
    action="/Preferences/Preferences/RISSave">
</form>

我有两个按钮,我将根据某些条件显示它们,比如当显示 button1 时它将执行表单操作,当显示 button2 时它将触发执行不同操作的 javascript 函数并且它不应该触发表单操作,但我的情况是这两种方法都在触发。

<input id="button1" name="Save" class="button" type="submit" value="<%="Save".Localize()%>"/>

<input id="button2" name="Save" class="button" type="submit" value="<%="Save".Localize()%>"
                        onclick="saveData();" />

下面是 JavaScript

function saveData() {
        $.ajax({
            url: "/Preferences/Preferences/saveData",
            type: "POST",
            data: items,
            success: function (reponse) {
                return true;
            },
            error: function (reponse) {

            }
        });
    }

请帮我解决这个问题。提前致谢。

最佳答案

将您的第二个按钮类型从 submit 更改为 button 这将阻止提交表单。

<input id="button2" name="SavePACS" class="button" type="button" value="<%="SavePACS".Localize()%>"
                    onclick="saveData();" />

关于javascript - 如何防止触发表单提交操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50819414/

相关文章:

javascript - Canvas 响应滚动

javascript - 如何访问 JSON 对象中的数组?

javascript - 如何从 javascript 提交带有本地列表的表单

javascript - 我如何为此 slider 添加下一个和上一个按钮而不是数据链接 ="n"(删除分页并仅添加下一个和上一个按钮)

html - 当遇到兄弟跨度时使文本换行

javascript - 单击按钮弹出 div 应位于屏幕中心

javascript - 仅当选项卡处于事件状态时才运行 setTimeout

php - 使用ajax发送输入类型文件值

JQuery.Validate CDN 后备

php - 导航项只能在元素下点击?