asp.net - ASP.net 撤消 preventDefault()
问题描述
我有一个带有提交按钮(创建)的页面。
添加另一个按钮(计算利润)时,表单提交会在用户点击它时启动。所以我在点击计算利润按钮时添加了 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。单击创建时有没有办法撤消此操作并启动表单提交?
解决方案
如果您只想在点击创建按钮时提交表单,您可以尝试type="button"
在计算利润按钮中设置,并$('form').submit(function (ev) {ev.preventDefault();});
在函数中删除。NetProfit
这是一个演示:
看法:
<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");
}
推荐阅读
- powershell - 使用 PowerShell 重启网络 PC 的服务
- python - 使用 Overpass API 查询所有道路并导出为多边形
- c# - C# AxMSTSCLib.AxMsTscAxNotSafeForScripting.connect() 成功但不显示远程 VM
- flutter - 如何在 searchDelegate 上突出显示正确的单词?
- ngxs - NGXS - 动作拦截器
- java - 为什么 Java 编译器在构造函数实例化中丢失了泛型类型?
- kotlin - 为空时检查布尔值
- postgresql - 将一列与数组的每个值相乘
- vba - 将访问行转换为访问字段
- webpack - 预编译 pug 模板并保存对 htmlWebpackPlugin.options 的访问