我正在使用ASP.NET MVC 3
和Yahoo API version 3
。我试图让我的YUI3 button
重新定向到另一个页面时,我点击它,这个按钮是我的取消按钮。取消按钮是一个普通的按钮类型,但它被视为一个提交按钮。它不会重定向到正确的页面,而是像一个提交按钮,它启动我的页面验证,比如提交按钮会做什么。YUI3按钮点击事件的行为类似于提交类型而不是按钮类型
我认为这可能与我的HTML,但我没有验证它。它验证了100%正确。于是我将整个页面剥离到最低限度,但取消按钮仍然像提交按钮一样工作。这里是我的HTML标记:
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<title>Create2</title>
</head>
<body class="yui3-skin-sam">
<h1>Test submit</h1>
@using (Html.BeginForm())
{
<button id="SaveButton" type="submit">Save</button>
<button id="CancelButton" type="button">Cancel</button>
}
<script src="http://yui.yahooapis.com/3.6.0pr4/build/yui/yui-min.js"></script>
<script>
YUI().use('button', function (Y) {
var saveButton = new Y.Button({
srcNode: '#SaveButton'
}).render();
var cancelButton = new Y.Button({
srcNode: '#CancelButton',
on: {
'click': function (e) {
Y.config.win.location = '/Administration/Department/List';
}
}
}).render();
});
</script>
</body>
</html>
我不知道我在做什么错在这里?这可能是他们的API中的错误?我正在测试IE8和最新版本的FireFox。
UPDATE:
我忘了提,如果这些按钮是不是形式标记之间,则重定向工作正常。如果我把它们放在窗体标签中,那么重定向不起作用。
感谢您的详细解答。你为什么认为这个按钮是一个提交按钮? – 2012-08-06 16:10:58
因为表单内按钮的默认类型是“提交”。请参阅标准:http://www.w3.org/TR/html401/interact/forms.html#adef-type-BUTTON – juandopazo 2012-08-07 01:10:51
默认或不是默认的,他们可以保持按钮的声明。 – 2012-08-07 06:15:41