我有以下对话框和表格
<div id="dlg" class="easyui-dialog" style="width:300px;height:220px;padding:10px 20px"
closed="true" buttons="#dlg-buttons">
<div class="ftitle"></div>
<form id="fm" method="post">
<div class="fitem">
<label>Position Title:</label>
<input name="position" class="easyui-validatebox" required="true">
</div>
</form>
</div>
<div id="dlg-buttons">
<a href="#" class="easyui-linkbutton" iconCls="icon-ok" onclick="savePosition()" id="submitButton">Save</a>
<a href="#" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dlg').dialog('close')">Cancel</a>
</div>
我希望用户能够按Enter,或者单击提交按钮以提交表单。运行提交的js是:
function savePosition(){
$('#fm').form('submit',{
url: url,
onSubmit: function(){
return $(this).form('validate');
},
success: function(result){
var result = eval('('+result+')');
if (result.errorMsg){
$.messager.show({
title: 'Error',
msg: result.errorMsg
});
} else {
$('#dlg').dialog('close'); // close the dialog
$('#dg').datagrid('reload'); // reload the user data
}
}
});
}
为了让enter按钮起作用,我决定使用下面的代码,但是当调用savePosition();
函数时,它会将表单提交为标准表单(将我带到提交页)。如何将表单作为AJAX表单提交(就像单击按钮时一样)?我也尝试使用$('#submitButton').Click()
,但这似乎提交了表单,但数据库没有更新。
$(function() {
$('#fm').submit(function( jqEvt ) {
jqEvt.preventDefault();
savePosition();
});
});
答案 0 :(得分:0)
触发点击事件应该可以解决问题。你是用小写'c'试了吗?
$('#submitButton').click(); //Change from .Click to .click