我有一个强类型视图用于我的模型,当用户单击提交时,我想要的是弹出一个确认框,确认用户确实希望提交表单。如果他们点击取消,则不应触发该视图的
HttpPost
操作,这个可能吗?HttpPost
操作,这个可能吗?当然可以。我喜欢使用不显眼的方法。这里是一个简化的示例:
jQuery(document).ready(function () {
jQuery('[data-confirm]').click(function (e) {
if (!confirm(jQuery(this).attr("data-confirm")))
{
e.preventDefault();
}
});
});
那么你只需要在提交按钮中添加一个 data-confirm 属性,例如:
<input type="submit" data-confirm="are u sure?" />
当然,你可以在链接、按钮等元素上使用此属性,你不仅限于仅限于提交按钮。如果你想要实现更高级的确认对话框,那么你只需要在一个地方替换代码即可。<script type="text/javascript">
$("form").submit(function() {
return confirm('Are you sure?');
});
</script>
onsubmit="return confirm('Are you sure?');"
function doSubmit()
{
if(window.confirm("ARE YOU SURE TO PERFORM THIS ACTION"))
{
return true;
}
else return false;
}
onsubmit
事件中调用 doSubmit()
函数,例如: onsubmit="return doSubmit()
"。