Bonjour,

J'ai l'impression que le template xslc:ButtonPad n'est pas adapté pour des applis PHP (XMLC_UseXMLC_Action = 1).

Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
<xsl:call-template name="xslc:ButtonPad">
<xsl:with-param name="Button_Submit_Click">ProcessPwd(); return false;</xsl:with-param>
<xsl:with-param name="DeleteAction">
<xsl:value-of select="/document/Aliases/DLL"/>DeleteUSER</xsl:with-param>
</xsl:call-template>
Dans le code ci dessous, le paramètre DeleteAction va générer le code javascript suivant (extrait) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
onclick="ConfirmDelete('MainForm','DeleteUSER',
'Etes vous sûr de vouloir supprimer cet élément ?');return false;"
La fonction javascript ConfirmDelete (xslc.js) va modifier l'attribut action du formulaire avant de le poster :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
function ConfirmDelete(FormName, DeleteAction, Prompt) {
	var F = document.forms[FormName];
	if (confirm(Prompt)) {
		F.action = DeleteAction;
		F.submit();
	}
}
Le problème est que quand XMLC_UseXMLC_Action=1, c'est le champ XMLC_Action qu'il faut modifier, et non pas l'attribut action du formulaire.

Remède ?
Ca suppose que le code javascript devrait être au courant qu'on soit en mode
XMLC_UseXMLC_Action=1 (variable js globale du type XMLC_PictosPath ?), et que le test devrait être effectué dans ConfirmDelete pour affecter l'action du formulaire au bon endroit.