2011-12-22 96 views
2

我有以下代码:提交按钮不执行任何操作

<button data-dojo-type="dijit.form.Button" data-dojo-props='baseClass:"styleButton"' 
    name="_action_update" 
    type="submit" 
    label="Save" 
>Save</button> 

的问题是,这似乎并不实际作为提交操作的工作了。如果我拿走道场相关的东西,它会按预期工作。我之前使用过这个baseClass方法将样式应用于按钮,但不是提交按钮。我应该如何改变这一点?

回答

5

我想你需要input type="submit"

<input data-dojo-type="dijit.form.Button" data-dojo-props='baseClass:"styleButton"' 
    name="_action_update" type="submit" value="Save" /> 

或者,如果你真的需要button标签,什么丑像这应该工作

<button onclick="document.getElementById('yourFormId').submit()" data-dojo-type="dijit.form.Button" data-dojo-props='baseClass:"styleButton"' 
    name="_action_update" label="Save">Save</button> 

或课程,你可以更优雅的附加事件处理程序没有dom级别0 cruft

<button id="formSubmitBtn" data-dojo-type="dijit.form.Button" data-dojo-props='baseClass:"styleButton"' 
    name="_action_update" label="Save">Save</button> 

document.getElementById("formSubmitBtn").onclick = function() { 
    document.getElementById('yourFormId').submit(); 
}; 
3

你还没有一种高精度你使用的是什么版本的Dojo,但是,我相信这就是问题所在:

道场版本< 1.7不支持数据道场道具+自然HTML属性

<input data-dojo-type="dijit.form.Button" data-dojo-props='baseClass:"styleButton"' 
    name="_action_update" type="submit" value="Save" /> 

不会工作,名称,类型和值将被忽略。

如果您的dojo版本是1.7或1.7.1,那么问题在别处。