Bonjour,
Je poste pour la première fois dans ce forum et je vous remercie d'avance pour vos réponses.
Je suis débutante en jsp et je dois alimenter deux listes déroulantes l'une en fonction du choix de l'autre. J'ai essayé avec onchange="this.form.submit()" ca marche nickel sauf que je perds l'élément sélectionné de ma première liste ( ce qui s'est avéré être normal :) ) du coup, j'ai vu pas mal de posts sur de nombreux forums mais malheureusement ils sont tous faits avec du php et javascript or je ne sais pas coder en php :( (je ne code qu'en java) je suis finalement tombée sur un code qui m'a paru simple en php et j'ai essayé de le modifier mais je n'obtiens pas de résultat : mes combos sont vides. Je vous joins mon code en espérant que vous sauriez m'aider parce que ça fait un bon moment que je cherche la solution.
Bien à vous.
CODE:
<%@page import="java.sql.*"%>
<%@page import="java.util.*"%>
<jsp:directive.include file="Header.jsp" />
<html>
<% String myBridge = "sun.jdbc.odbc.JdbcOdbcDriver";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
Class.forName("com.mysql.jdbc.Driver").newInstance();
String sqlUser = "";
String sqlPwd = "";
Class.forName(myBridge);
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/gestiondincident",sqlUser,sqlPwd);
Statement stat = conn.createStatement();
%>
<head>
<script language="javascript">
function cat1(){ // fonction qui remplit le premier combobox
i=0;
j=0;
var listesection = Array();
res="SELECT incident.nom, typeincident.nom from incident,typeincident where idTypeIncident = idIncident" ;
res2 = stat.executeQuery(res);
while (res2.next()) {
listesection[i] = Array("res2.get(1)"," res2.get(2)");
i++; }
// la requête qui permet de lire dans la base de donnée la relation entre les 2 tables et permettre l'affichage
var combo = document.getElementById('combo1');
var selected_value = combo.value;
combo_2 = document.getElementById('combo2');
combo_2.options.length = 1;
for(var i=0,j=1;i<listesection.length;i++)
{
if(listesection[i][0]==selected_value)
{
element = new Option(listesection[i][1], listesection[i][1]);
combo_2.options[j] = element;
j++;
}
}
}
</script>
</head>
<body>
<form name="formulaire" action="newjsp3.jsp" method="post" style="width:35%;margin:auto;padding-bottom:20px;">
<table>
<tr></tr>
<tr></tr>
<tr>
<td><b> Application concernée </b></td>
<td>
<select name="appli" id="combo1" onchange="cat1()">
</select>
</td>
</tr>
<tr>
<td><b> Type d'incident </b> </td>
<td>
<select name="type" id="combo2" >
</select>
</td>
</tr>
</table>
<p style="text-align:center;width:50%;margin:auto;"><input type="submit" value="OK" name="Submit" />
</form>
</html>