我的模型有一个强类型视图,我想要的是当用户点击提交时,会弹出一个确认框,确认用户确实希望提交表单,如果他们点击取消那么它不应该HttpPost为该视图触发Action,这可能吗?
Har*_*ari 26
当然有可能.我喜欢用一种不引人注目的方法.这是一个简化的例子:
jQuery(document).ready(function () {
jQuery('[data-confirm]').click(function (e) {
if (!confirm(jQuery(this).attr("data-confirm")))
{
e.preventDefault();
}
});
});
Run Code Online (Sandbox Code Playgroud)
然后,您只需要在提交按钮中添加数据确认属性,例如
<input type="submit" data-confirm="are u sure?" />
Run Code Online (Sandbox Code Playgroud)
当然,您可以在链接,按钮等上使用此属性.您不仅限于提交按钮,如果您希望稍后实现一个发烧友确认对话框,则只需在一个地方替换代码.
您可以为此添加一个简单的 jQuery 调用。
在您的视图末尾添加:
<script type="text/javascript">
$("form").submit(function() {
return confirm('Are you sure?');
});
</script>
Run Code Online (Sandbox Code Playgroud)
或者,添加一个
onsubmit="return confirm('Are you sure?');"
Run Code Online (Sandbox Code Playgroud)
作为新的元素属性
function doSubmit()
{
if(window.confirm("ARE YOU SURE TO PERFORM THIS ACTION"))
{
return true;
}
else return false;
}
Run Code Online (Sandbox Code Playgroud)
在表单的事件上调用doSubmit()函数onsubmit,例如-onsubmit="return doSubmit()