[JSP-Javascript]Basculer des éléments d'une liste à l'autre avec JSP
Bonjour.
J'ai deux listes déroulantes dont l'une vient d'une base de données. Le but étant d'échanger les elements
comme ceci
Mon objectif c'est de faire un bouton submit qui affichera les données de la liste de droites dans une autres pages jsp.
Problèmes rien ne s'affiche
Voilà le code de la première page jsp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
|
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="java.util.ArrayList"%>
<jsp:useBean id="Listedepays" scope="session"
class="com.test.listederoulates.exemples.ListedePays">
</jsp:useBean>
<%@page import="java.util.Date"%><HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function submitTelemat4(_idListe)
{
if(submitForm ( _idListe ))
{
document.formulaire.liste2.value=_idListe;
document.formulaire.submit();
}
}
</script>
<SCRIPT LANGUAGE="JavaScript">
/**
* Déplacement
*
* @param _idListe1
* Identifiant de la première liste.
* @param _idListe2
* Identifiant de la deuxième liste.
*/
function Deplacer(_idListe1, _idListe2) {
var l1 = document.getElementById(_idListe1);
var l2 = document.getElementById(_idListe2);
if (l1.options.selectedIndex>=0 ) {
o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
l2.options[l2.options.length]=o;
l1.options[l1.options.selectedIndex]=null;
}
else{
alert("Aucune activité sélectionnée");
}
}
function submitForm ( _idListe ){
var liste1 = document.getElementById(_idListe );
// si une seule ligne ( alors pas de pays ) vue que la liste contient "----------------------";
if ( liste1.options.length ==1 ) {
alert ("Merci de renseigné un pays de destination");
return false;
}
// parcours tous les options de la liste.
var listeValue = "";
for (var i=0; i < liste1.options.length; i++){
listeValue += ";" + liste1.options[i].value;
}
// juste une alerte.
listeValue = listeValue.substr(1, listeValue.length);
alert (listeValue);
return true;
}
function submitTelemat3(_idListe)
{
if(submitForm ( _idListe ))
{
document.formulaire.submit();
}
}
</SCRIPT>
</HEAD><BODY>
<form name="formulaire" method="post" action="Resultatdelaselection.jsp" enctype="multipart/form-data" target="Resultatdelaselection.jsp">
<%
ArrayList<String> alist = new ArrayList<String>();
Listedepays.RemplirlaListe();
alist = Listedepays.alist;
%>
<TABLE><TR>
<TD align="center"><B><FONT size="2">Pays</FONT></B><BR>
<SELECT align=top name="ListePays" id="liste1" size=6 style="width:120px">
<option selected value="Any">Any</option>
<% for( int j=0;j<alist.size();j++) {%>
<option value="<%=alist.get(j) %>"><%=alist.get(j)%></option>
<%}%>
</SELECT>
</TD>
<TD align="center">
<INPUT type="button" value="Ajouter >>>" onClick="Deplacer('liste1','liste2')">
<BR><BR>
<INPUT type="button" value="<<< Enlever" onClick="Deplacer('liste2','liste1')">
</TD>
<TD align="center"><FONT size="2"><B>Pays retenus</B></FONT><BR>
<SELECT align=top name="valeurs[]" id="liste2" size=6 multiple="multiple" style="width:120px">
<OPTION value="10">----------------------</OPTION>
</SELECT>
</TD>
<td><select name="Result" ></select> </td>
</TR></TABLE>
<input type="hidden" name="test" value="oui">
<input type="submit" onclick="return submitForm('liste2')">
<br></br>
<input type="submit" value="Submit" onclick="submitTelemat3('liste2')">
</FORM>
</FONT>
<%
String [] args = request.getParameterValues("liste2");
if(args!=null && args.length> 1)
{
for(int j=0;j<args.length;j++)
{
System.out.println(args[j]);
}
}else
{
Date d = new Date();
System.out.println("No value selected " + d);
}
%>
</BODY>
</HTML> |
La page résulat où je ne vois rien s'afficher, je suis persuadé qu'il ne doit pas manquer grand chose.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="java.util.ArrayList"%><html>
<jsp:useBean id="listPays" scope="session"
class="com.test.listederoulates.exemples.ListeDesPays">
</jsp:useBean>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
String[] args = request.getParameterValues("liste2");
//ArrayList<String> alist = new ArrayList<String>();
/*if (args != null && args.length > 0) {
for (int j = 0; j < args.length; j++) {
if (args[j] != null)
alist.add(args[j]);
}*/
%>
Les elements selectionnées sont :
<br></br>
<%
for (int j = 0; j < listPays.GetNbredePays() ; j++) {
if (listPays.getPays(j) != null) {
%>
<b><%=listPays.getPays(j)%> </b>
<br>
<%
} else {
%>
<b>Aucune valeur selectionnées</b><br></br>
<p>
<a href="ListeDeroulantes.jsp"><b>Retour à la case recherche</b></a>
</p>
<%
}
%>
}}else{ %>
<b>Aucune valeur selectionnées</b>
<a href="ListeDeroulantes.jsp"><b>Retour à la case recherche</b></a>
<%
}
/*}else {*/
%>
Aucune valeur selectionnées</b>
<a href="ListeDeroulantes.jsp"><b>Retour à la case recherche</b></a>
<%//} %>
</body>
</html> |
La petite classe qui contient les pays
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
package com.test.listederoulates.exemples;
import java.util.ArrayList;
public class ListedePays {
public static ArrayList<String> alist = new ArrayList<String>();
public static void RemplirlaListe()
{
alist.add("Allemagne");
alist.add("Russie");
alist.add("Royaume Uni");
alist.add("Chine");
alist.add("Suisse");
alist.add("Luxembourg");
alist.add("France");
alist.add("Belgique");
alist.add("Hollande");
alist.add("USA");
alist.add("Mexique");
alist.add("Bresil");
alist.add("Argentine");
}
} |
En vous remerciant.