begin process at 2012 05 29 05:17:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Dropdownlist et ajax


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Dropdownlist et ajax

vendredi 23 avril 2010 à 14:27:53 | Dropdownlist et ajax

kalabichou

Bonjour à tous,
Actuellement j'essaye de faire fonctionner 4 dropdownlist dans un environnement j2ee sous eclipse.
En utilisant ajax j'envoie mes paramètres à une autre jsp qui le reçoit puis à par partir d'une requête HQL je parviens à construire les 4.
Le problème maintenant quand on change la valeur de la première le deuxième change mais pas la 3 et la 4 que je veux bien qu'il seront changé aussi de meme.
L'autre difficulté que je reçoit la reponse ajax dans un div comme vous allez le voir dans mon code ça me perturbe enormement.
Comment je peux faire changer les 2 autres?
Merci:
Voila le code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html dir="ltr">
<head>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.2/dijit/themes/soria/soria.css">
<style type="text/css">
body, html { font-family:helvetica,arial,sans-serif; font-size:90%; }
</style>

<title>Imputation OPC</title>
<script type='text/javascript' src="imput_opc.js">
</script>
<script type="text/javascript" src="calendarDateInput.js"></script>
</head>
<body class="soria ">
<%@page import="Test.HtmlListConstruct" %>
<%@page import="Test.HtmlListTaskConstruct" %>
<%@page import="Test.HtmlListActivityConstruct" %>
<%@page import="Test.ServletImputOPC"%>
<%@ page import="java.util.*" %>
<%@page import= "java.io.IOException"%>
<%@page import= "java.io.PrintWriter"%>

<form method="post" action="Submit" name="frm" >
<p><label>Choose the Date:</label>
<input type="text" name="date1" id="date1" value=" " dojoType="dijit.form.DateTextBox" required="true" onBlur="Displaydate();" /></p>
<label>Daily Time Sheet for:</label>
<input type="text" id="txtdate" name="txtdate" />

<table border="1" Background=" " Bordercolor="" Bgcolor="#0099CC" width="470" align="left" id='tab'>
<tr>
<td width=70">
<label> Activity </label>
<select name='activity' id='activity' onchange='gotoProject()'>
<option value='-1'>Aucun</option>
<%HtmlListActivityConstruct LA=new HtmlListActivityConstruct();%>
<%=LA.ConstructListActivity("Activity","SELECT from Activityopc activityopc".toString()) %>
</select>
</td>

<td width="70">
<label>Project</label>
<div id="prjsel" style='display:inline'>
<select name='projet' id='projet' onchange='go()'>
<option value='-1'>Aucun</option>

</select>
</div>
</td>

<td width="50">
<label>WA</label>

<div id="wa" style='display:inline'>
<select name='wasel' id="wasel" onchange='InputCount()'>
<option value='-1'>Choose a project</option>
</select>
</div>
</td>

<td width="100">
<label>Task</label>
<select name='task' id='task' >
<option value='-1'>Aucun</option>
<%HtmlListTaskConstruct L2=new HtmlListTaskConstruct(); %>
<%=L2.ConstruireListTask("Task","SELECT from Tasks tasks")%>
</select>
</td>
</tr>
</table>
<br/><br/>

<table>
<tr></tr>
<tr>
<td>
<button id="editb" type="button" onClick="visibilite(popup);">
<img src="C:\Documents and Settings\Administrateur.SWEET-C4703A15E\Bureau\Nouveau dossier (3)\Nouveau dossier (3)\image\edit.gif"/>
</button>
</td>
</tr>
</table>
<br/>
<br/>
<div id="popup" style="display:none;">
<table border="1" Bgcolor="#0099CC" id='mytab' align="left">
<tr>
<td><label>Start</label><input id="start" name="start" /></td>
<td><label>End</label><input id="end" name="end"/></td>
<td><label>Duration</label><input id="output" name="output" type="text" onBlur="calculateTimeSpent(start,end,output);"/></td>
<td>
<div id="wacount" style='display:inline'>
<label>Input count</label><input type="text" id="inputwa" name="inputwa" value="" ></div>
</td>
<td><label>Unit</label>
<select dojoType="dijit.form.ComboBox" id="unit" name="unit">
<option>Km</option>
<option>Grid Cell </option>
<option>Link</option>
</select>
</td>
<td><label>Number Performed</label><input type="text" id="nperformed" name="nperformed" dojoType="dijit.form.NumberTextBox" name="nperformed" value="" constraints="{min:0,max:100000,places:0}" required="true" invalidMessage="Invalid quantity." /></td>
<td><label>% Complete</label>
<input type="text" id="percentc" name="percentc" onfocus="calculateAvencement(inputwa,nperformed,task,percentc);"></td>
</tr>
</table>


<table id="tabsave"><tr></tr>
<tr>
<td>
<button id="save" type="button" onClick="AjouterLigne();">
<img src="C:\Documents and Settings\Administrateur.SWEET-C4703A15E\Bureau\Nouveau dossier (3)\Nouveau dossier (3)\image\Save.jpg " />
</button>
</td>
<td>
<button id="undo" type="button" onClick="deleteARow();">
<img src="C:\Documents and Settings\Administrateur.SWEET-C4703A15E\Bureau\Nouveau dossier (3)\Nouveau dossier (3)\image\undo.png " />
</button>
</td>
</tr>
</table>
</div>


<br/>
<br/>
<br/>

<div id="timesheet">
<table border="1" width="900" id="mysheet" align="left">
<tr bgcolor="#0099FF"><label> Daily Time Sheet </label></tr>
<tr>
<td></td>
<td >Activity</td>
<td >Project</td>
<td >WArea</td>
<td >Task</td>
<td >Duration</td>
<td >% complete</td>
</tr>
</table>
<table>
<tr></tr>
<tr>
<td>
<input type="submit" value="send" style="background-color : #0099FF " onClick="HidOthers();"/>
</td>
</tr>
</table>
</div>

</form>
</body>

</html>
POur le javascript aussi:
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject)
{ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr;
}


/***
** Méthode qui sera appelée sur le click du item activity
***/
function gotoProject()
{
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200)
{
selects = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('prjsel').innerHTML = selects;
}
};

xhr.open("POST","ajaxPrj.jsp",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
act = document.getElementById('activity');
idact = act.options[act.selectedIndex].value;
xhr.send("idact="+idact);


}



/***
** Méthode qui sera appelée sur le click du item projectCode
***/
function go(){
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200)
{
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('wa').innerHTML = leselect;
}
};

xhr.open("POST","ajaxWa.jsp",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
sel = document.getElementById('projet');
idprojet = sel.options[sel.selectedIndex].value;
xhr.send("idprojet="+idprojet);

}
/***
** Méthode qui sera appelée sur le click du item wa pour deteminer inputCount
***/
function InputCount()
{
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200)
{
leswa = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('wacount').innerHTML = leswa;
}
};
xhr.open("POST","AjaxInputCount.jsp",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
tel = document.getElementById('wasel');
idwa = tel.options[tel.selectedIndex].value;
xhr.send("idwa="+idwa);

}



J'aime bien lorsque activity=absence rien ne s'affiche dans le projet WA et Task.
pour cela:
<html><head><title></title></head>
<body>
<select name='projet' id='projet' onchange='go()'>
<%
String idact=request.getParameter("idact");
System.out.print("idact:=" +idact);
if(idact.equalsIgnoreCase("Project")){
try {
Session s = null;
Transaction tx;
s = HibernateUtil.currentSession();
tx = s.beginTransaction();
Query query = s.createQuery("SELECT from Projects projects");

for(Iterator it=query.iterate();it.hasNext();)
{
if(it.hasNext()){
Projects prj=(Projects)it.next();
out.print( "<option id=\"" +prj.getProjectObject() + "\" value=\"" + prj.getProjectCode() + "\" >" +prj.getProjectCode()+ "</option>");

}
}
}catch (HibernateException e) {
e.printStackTrace();}
}
else
if (idact.equalsIgnoreCase("absence"))
{%>
<option>Aucun</option>

<%}%>

</select>

</body>
</html>
Merci.


Cette discussion est classée dans : function, options, xhr, innerhtml, if


Répondre à ce message

Sujets en rapport avec ce message

Problème pour crer une classe pour faire de l'ajax...pleaseHELP !!! [ par diversjms ] Bonjour à tous et merci de me lire !!Afin de faire de l'ajax propement je souhaite créer tous d'abord  une classe pour faire de simple requete asyncrh Blocage google map api [ par gus_air ] Bonjour, je débute sur les API googlemap et suis bloqué.En fait je cherche à placer sur une carte des marqueurs récupérés dans une base mysql.Certains créer des lien en ajax [ par baloc ] bonjour à tous.Je souhaite réaliser des liens en ajax. ça c'est la partie simple théorique. maisntenant l'autre partie. les liens sont des éléments d' modification lightbox .... bouton close en haut a droite [ par petardier ] bonjour,je souhaite modifier une light box en mettant le bouton close en haut a gauche , plutot qu'en bas.Ainsi, quand une image est plus grande que l Encore des erreurs ! [ par nicomilville ] Salut,Et oui, c'est encore moi, vous devez vous dire que je suis un nul, c'est peut être vrai, lol J'ai encore des erreurs sur mon code... Si ça co menu accordéon dans fenetre au survol [ par zon28 ] Bonjour le but du script suivant est 1- créer une zone à l'aide d'une div (#menu1, #menu2,...); 2- au survol de cette zone faire appaitre un menu ac intérompre une fonction... [ par davidcian ] Bonjour,Je cherche a stopper le déroulement d'une fonction lors d'une condition, j'ai testé avec return mais ça marche pas...Fonction principal:functi Probleme message d'erreur activeX [ par pampapic ] Bonjour à tous,Je suis loin d'être un pro de la programmation, en fait je suis infographiste 3d, néanmoins je me plonge dans le html pour confectionne encore une fonction qui marche pas ! [ par nicomilville ] Salut,J'ai encore un problème avec une fonction qui ne marche pas !ma fonction :function aff_discution() { var xhr_object = null;  if(window.XMLHttpRe très lent [ par metaleurop ] Bonjour à tous!!J'ai un script sympa pour des élèves mais malheureusement il est super long à tourner ,quand il ne bugge pas!Serait-il possible de le


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales