MVC3输入按钮,不调用控制器操作,只执行jquery事件?

时间:2011-12-21 13:58:43

标签: jquery asp.net-mvc-3

在MVC3创建视图中,如何确保“submit”类型的输入标记不在MVC3控制器中调用Create动作并仅调用jquery函数?

function start()
{
   alert("hi");
}

<input type="submit" value="Start" onclick="start();"/>

每当我点击“开始”按钮时,它会显示“hi”警告框,然后再次调用Create controller action?如何确保它不会回发到Create controller操作?

感谢。

4 个答案:

答案 0 :(得分:1)

您只需将type的{​​{1}}从input更改为submit

button

这会使它成为一个独立的按钮,不会附加到封闭的<input type="button" value="Start" onclick="start();"/> 。这样你就可以很好地绑定你的JavaScript代码了,它对用户没有任何影响,它只是没有向浏览器表明它应该提交表单。

答案 1 :(得分:0)

您可能只需要拨打preventDefault()

<script type="text/javascript">
    $(function() {
        $('#submitButton').click(function(e) {
            alert('hi');
            e.preventDefault();
        });
    });
</script>

答案 2 :(得分:0)

您可以执行类似

的操作
function start(e)
{
   alert("hi");
   e.preventDefault();
}

或者如果您只想取消专门针对该按钮的操作,而不是取消所有操作:

<input type="submit" value="Start" onclick="start(); return false;"/>

注意:我只测试过第二个,但我很确定第一个应该也能用到

答案 3 :(得分:0)

试试这个:

function start()
{
   preventDefault();
   alert("hi");
}

<input type="submit" value="Start" onclick="start();"/>