Sélection d'un élément d'une dropdownlist

kurtis123 Messages postés 7 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 30 mars 2010 - 5 févr. 2010 à 20:23
kalabichou Messages postés 5 Date d'inscription lundi 15 décembre 2008 Statut Membre Dernière intervention 23 avril 2010 - 23 mars 2010 à 17:28
Bonjour, j'ai un souci avec une dropdownlist que je charge avec la base de données.lorsque je sélectionne un élément de la dropdownlist, la page se charge à nouveau et je vois la progressbar de chargement dans la barre d'état du navigateur.J'aimerai pouvoir annuler cet effet de chargement.
Merci et à bientôt.

2 réponses

ggtry Messages postés 417 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 21 juillet 2010 1
6 févr. 2010 à 23:32
Bonsoir,

C'est normal : un changement dans un contrôle asp ne peut être géré que côté serveur. Tu ne peux pas l'éviter comme tel.
En revanche, tu peux éviter que l'appel au serveur ne se voit en utilisant de l'ajax.

GGtry
0
kalabichou Messages postés 5 Date d'inscription lundi 15 décembre 2008 Statut Membre Dernière intervention 23 avril 2010
23 mars 2010 à 17:28
Bonjour,
Si quelqu'un peut m'aider s'il vous plais.
On effet il s'agit de 2 ddl l'une conditionne les valeurs de l'autre.
J'utilise pour cela ajax,jsp et servlet comme suis.
J'envoi depuis js dans la jsp la valeur selectionnée par l'utilisateur à la servlet.
cette derniere construit un xml et le rend de nouveaux à la jsp pour le transformer en html et remplir donc la second ddl.
voici donc la jsp:
<%@ 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">
<html>
<head>
<script type="text/javascript" >
var xmlhttp;

function showProject(prj)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}

var url="ServletxmlGenerator.java";
projectcode = prj.options[prj.selectedIndex].value;
alert(projectcode);
//url=url+"?projectCode="+projectcode;
url=url+"?projectCode="+encodeURIComponent(projectcode);
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function stateChanged()
{

var xmlDoc=xmlhttp.responseXML.documentElement;
var nodes = xmlDoc.getElementsByTagName("item");//récupérer l'element item de responsexml
var oSelect = document.getElementById("workareaSelect");
var oOption, oInner;

if (xmlhttp.readyState==4 || xmlhttp.readyState=="complete")
{


oSelect.innerHTML = "";//initialisation
for (var i=0, c=nodes.length; i<c; i++)
{
oOption = document.createElement("option");

oOptionC=document.createElement("/option");

oInner = document.createTextNode(nodes[i].getAttribute("name"));
oOption.value = nodes[i].getAttribute("id");//donner val à option
oOption.TEXT_NODE="id";
oOption.appendChild(oInner);

oSelect.appendChild(oOption);
oSelect.appendChild(oOptionC);
}
}

}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
</script>
<%@page import="Test.HtmlListConstruct" %>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>exemplexml</title>
</head>

<%@page import="Test.HtmlListConstruct" %>
<fieldset>
<legend>Projects</legend>



<select id="projectCode" name="projectCode" onchange="showProject(this);">
<option value="none">Selection</option>

<%HtmlListConstruct L1 = new HtmlListConstruct();%>
<%=L1.ConstruireListProject("Project","SELECT from Projects projects".toString())%>
</select>





<select id="waSelect" ></select>





</fieldset>

</html>

et la servlet et comme suit:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.ehcache.config.Configuration;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;
import net.sf.hibernate.Transaction;
import javax.servlet.ServletOutputStream;
import net.sf.hibernate.Query;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.ehcache.config.Configuration;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;
import net.sf.hibernate.Transaction;


import javax.servlet.ServletOutputStream;
import Test.Wa;

/**
* Servlet implementation class ServletTable
*/


public class ServletxmlGenerator extends HttpServlet {


public ServletxmlGenerator() {
super();
// TODO Auto-generated constructor stub
}


public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String projectcode=request.getParameter("idprj");
System.out.println("++++projectCode:=" +projectcode);
Session s = null;
Transaction tx;

try {
s = HibernateUtil.currentSession();
tx = s.beginTransaction();




Query query = s.createQuery("SELECT from Wa wa where wa.ProjectCode='"+projectcode+"'");
response.setContentType("text/xml");
PrintWriter out = response.getWriter();
out.write( "<?xml version="1.0" encoding="utf-8"?>");
out.write("<wa>");
//constriure le xml
if(projectcode!=null)
{
for(Iterator it=query.iterate();it.hasNext();)
{
if(it.hasNext())
{

Wa object=(Wa)it.next();
out.write( "");

}

}

}
out.write("</wa>");
} catch (HibernateException e) {
e.printStackTrace();
}


}

}
mais le parametre ne s'envoit pas en executant la servlet et meme la jsp
Que je peut faire.
Merci
0
Rejoignez-nous