Fermer le guichet fenêtre modale en appuyant sur un bouton
Je veux fermer une fenêtre modale en appuyant sur un bouton résidant sur la fenêtre modale de la page. Il n'est pas de travail. De ma fenêtre modale page contient un lecteur vidéo.
Mon code est:
public class PlayVideoWindow extends WebPage {
public PlayVideoWindow(final Page modalWindowPage, final ModalWindow window, final String itemId) {
final String xmlFilePath = ((WebApplication) getApplication()).getServletContext().getRealPath("/resources/video/xml/video.xml");
String filename = null;
try {
filename = WebVideo.getVideo(itemId, xmlFilePath);
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
WebMarkupContainer videoContainer = new WebMarkupContainer("videoDiv");
add(videoContainer);
add(HeaderContributor.forJavaScript("resources/video/js/swfobject.js"));
final String script = "var swfVersionStr = '10.0.0';"
+ "var xiSwfUrlStr = 'playerProductInstall.swf';"
+ "var flashvars = {};"
+ "flashvars.filename = '"+ filename +"'" +";"
+ "var params = {};"
+ "params.wmode = 'transparent';"
+ "params.quality = 'high';"
+ "params.allowscriptaccess = 'always';"
+ "params.allowfullscreen = 'true';"
+ "params.allownetworking = 'all';"
+ "var attributes = {};"
+ "attributes.id = 'Player';"
+ "attributes.name = 'Player';"
+ "attributes.align = 'left';"
+ "swfobject.embedSWF('/jtrac/resources/video/swf/Player.swf', 'movieDiv', '320', '320', swfVersionStr, xiSwfUrlStr, flashvars, params, attributes);"
+ "swfobject.createCSS('#flashContent', 'display:block;text-align:left;');";
add(new AbstractBehavior() {
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.renderOnLoadJavascript(script);
}
});
//videoContainer.add(new AjaxButton("close") {
// protected void onSubmit(final AjaxRequestTarget target, final Form form) {
// PlayVideoWindow.this.close(target);
//}
//});
//Button closeButton;
//videoContainer.add(closeButton = new Button("close"));
//closeButton.add(new AttributeAppender("onclick", new Model("window.close();"), ";"));
}
}
Et voici le code HTML:
<div wicket:id="videoDiv">
<div id="movieDiv"></div>
<input type="button" wicket:id="close" />
</div>
L'commenté les lignes de code sont mes tests. Toute information sera très utile pour moi. Merci.
EDIT:
J'ai résolu mon problème avec ce code:
add(new AjaxLink("close") {
public void onClick(AjaxRequestTarget target) {
window.close(target);
}
});
OriginalL'auteur Tapas Bose | 2011-02-09
Vous devez vous connecter pour publier un commentaire.
Tout ce que vous devez faire est d'insérer un appel à la
close
méthode de votre bouton de code.Source: la documentation de
ModalWindow
dans la version 1.4.7.Je vois que vous avez résolu votre problème avec un lien, mais votre post, mentionné sur un bouton, donc je ne sais pas si le lien de la solution était juste une solution de contournement jusqu'à ce que vous avez obtenu quelque chose de mieux. Aussi, depuis
close
est une méthode statique, vous devez appeler à partir de la classe, pas une instance.OriginalL'auteur Pops
Voici un exemple de script:
OriginalL'auteur allojo
vous obtenez ModalWindow fenêtre dans votre constructeur.
Essayer
OriginalL'auteur code_fish