我不知道输入标签,但是直接在按钮上单击事件对我不起作用。就我而言,表格是立即发布的。
这是具有许多按钮的表单的可能解决方案(其中只有一个必须显示确认消息)
在视图中:
<FORM name="F_DESTINATION_DB" id="F_DESTINATION_DB" method="POST" onsubmit="return popConfirmationBox('<?php echo LanguageControler::getGeneralTranslation("DELETE_CONFIRMATION_MESSAGE", "Deleting is an irreversible action. Are you sure that you want to proceed to the deleting?");?> ','DELETE_DB_BUTTON')">
Javascript(在外部文件中用于代码重用):
/**
* Display a confirmation message box to validate if we must post the page or not.
*
* @param message String to display
* @param tagId String id of the tag that must display the message.
*
* @return Boolean (confirmation)
*/
function popConfirmationBox(message, tagId){
var confirmation = true;
if (typeof tagId === 'string' && document.activeElement.id.toUpperCase() === tagId.toUpperCase()) {
if (typeof message === 'string' && message.length > 0) {
confirmation = window.confirm(message);
}
}
return confirmation;
}
我很难做到这一点(需要大量研究和测试),但生成的代码非常简单。
默认情况下,我假设确认是肯定的(如果单击的按钮不是用来显示消息的按钮,或者用户没有提供有效的消息字符串)。
附加说明:当然,如果用户浏览器阻止客户端代码,此代码将无法解决问题。
我希望它会帮助某人,
来自蒙特利尔的 Jonathan Parent-Lévesque