我有一个用ASp.Net MVC5编写的Web表单,用于收集用户的一些详细信息。但是,在让他们提交表单之前,我希望他们可以选择查看另一个网页(在新窗口或新选项卡中),以便在提交页面之前根据需要提供更多信息。为此,在Web表单上,我有一个带有以下按钮的表单:
<form action="/Application/MyAction" method="post" id="myForm">
// various fields ...
<button onclick="getMoreInfo()">More Information</button>
<button type="button">Submit Form</button>
</form>
然后,在页面底部,我定义了以下javascript:
<script>
function getMoreInfo()
{
var urlToUse = 'http://some-other-page.html';
window.open(urlToUse);
return false; // trying to stop the form submission from occurring
}
</script>
我的问题是,当单击此“更多信息”按钮时,它具有提交表单(我不想这样做)的效果-因为有一个单独的提交按钮来执行该任务。有没有一种方法可以使用按钮跳到另一页而不实际提交当前表单?
感谢堆,
大卫。
答案 0 :(得分:0)
我发现这个问题的答案#3对我有帮助:
How do I cancel form submission in submit button onclick event?
我的解决方案是这样更改代码:
我将按钮代码更改如下:
<form action="/Application/MyAction" method="post" id="myForm">
// various fields ...
<button id="moreInformationButton" >More Information</button>
<button type="button">Submit Form</button>
</form>
然后我将javascript更改如下:
$("#moreInformationButton").click(function (event) {
event.preventDefault(); // This stops the submit form being triggered
var urlToUse = 'http://some-other-page.html';
window.open(urlToUse); // open the help page
});
这使我可以打开另一个窗口或带有更多信息的标签,而无需实际提交表单。