如何解决jQuery表单提交不能在JSF中工作吗?
| 我有一个JSf表单,我正在尝试使用jQuery Ui对话框插件提交表单。 这是代码段。function confirmSubmit() {
$(\'#dialog\').dialog(\'open\');
return false;
}
$(\'#dialog\').dialog({
autoOpen : false,width : 400,modal : true,resizable : false,buttons : {
\"Submit Form\" : function() {
document.myForm.submit();
},\"Cancel\" : function() {
$(this).dialog(\"close\");
}
}
});
<h:form id=\"myForm\">
<h:commandLink action=\"#{Bean.search}\" type=\"submit\" onclick=\"return confirmSubmit()\" id=\"search\" styleClass=\"buttonSearch\">
</h:commandLink>
对话框中的\“ document.myForm.submit(); \”部分不起作用,即,没有调用到达服务器,并且在服务器控制台中我看到了错误:
11:45:32,738严重[生命周期]
JSF1054 :(阶段ID:RENDER_RESPONSE 6,
查看ID:/PRT01/IMCM0101.jsp)
在阶段期间引发异常
执行:
javax.faces.event.PhaseEvent [source=com.sun.faces.lifecycle.LifecycleImpl@ec333b]
该对话框正确显示,但是一旦按下提交按钮\“ document.myForm.submit(); \”,就会执行代码,并且不提交表单,而是服务器控制台上出现上述错误。
解决方法
因为您
return false;
,它实际上不会提交。
使ѭ2起作用
$(document).ready(function() {
var $dialog = $(\'<div></div>\')
.html(\'This dialog will show every time!\')
.dialog({
autoOpen : false,width : 400,modal : true,resizable : false,buttons : {
\"Submit Form\" : function() {
document.myForm.submit();
},\"Cancel\" : function() {
$(this).dialog(\"close\");
}
}
});
});
然后打电话
function confirmSubmit() {
$dialog.dialog(\'open\');
return false;
}
, 完成后,缺少一些JSF参数。 jsf在表单提交期间添加的内容,我使用jQuery添加了它们:
$(\"a[id$=\'search\']\").click(function() {
var input = $(\"<input>\").attr(\"type\",\"hidden\").attr(\"name\",\"myForm:search\").val(\"myForm:search\");
$(\'#myForm\').append($(input));
$(\"p#dialog-email\").html(titleVar);
$(\'#dialog\').dialog(\'open\');
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。