[resolu]ajouter des données dans une requête htttp en js

ajouter des données dans une requête htttp en js [resolu] - HTML/CSS - Programmation

Marsh Posté le 18-10-2005 à 09:07:47    

bonjour,
j'aurais besoin a partir d'un javascript de rajouter des paramètres dans une requête
j'ai vu qu'il fallait utiliser XMLHttpRequest, mais apparement ca ne marche pas
 
existe t'il un autre moyen??
 
merci ;)


Message édité par jeromejanson le 18-10-2005 à 15:33:23
Reply

Marsh Posté le 18-10-2005 à 09:07:47   

Reply

Marsh Posté le 18-10-2005 à 09:47:29    

La question n'est pas très claire pour moi, parce que je ne vois pas bien de quel type de requête il peut s'agir. Une requête au serveur de pages web, ou au serveur de données, ou à un autre serveur ?
 
Sauf erreur, il me semble que les requêtes qui sont adressées par javascript passent par un form.submit, et donc les arguments sont les champs du formulaire, parmi lesquels peuvent se trouver des champs de différents types : type=text, type=password, type=button, etc. sans oublier type=hidden qui est sans doute utile dans ton cas.

Reply

Marsh Posté le 18-10-2005 à 10:14:49    

alors je vais essayer de faire simple
sur une page, j'ai un formulaire avec des cases a cocher, et un bouton me permettant de valider ce formulaire
j'ai un deuxieme formulaire me permettant de changer de page
et je voudrais, lorsque j'execute ce deuxieme formulaire, recuperer toutes les cases qui sont cochees pour les ajouter a ma requete et pouvoir savoir, malgres les changements de pages, quelles sont les cases qui ont deja ete cochees
 
j'espere avoir ete clair ;)

Reply

Marsh Posté le 18-10-2005 à 10:16:51    

du code :o :o :o :o :o :o :o :o :o :o


---------------
Les CSS c'est bon mangez-en
Reply

Marsh Posté le 18-10-2005 à 10:33:25    

Comme les données passées au serveur sont celles du deuxième formulaire, il faut rajouter des champs cachés dans ce deuxième formulaire.
Puis, dans le onClick qui va soumettre le deuxième formulaire, il faut appeler un petit bout de javascript qui va copier les champs importants du premier formulaire dans les champs cachés du deuxième formulaire. :)  

Reply

Marsh Posté le 18-10-2005 à 10:34:37    

donc voici un bout de ma jsp

Code :
  1. <FORM name="formchpage1" action="/fotocom/user/Browser.do?action=Edit&gfolder=<%=gfolder%>&gval=<%=gval%>" method="post">
  2. <%collecPage=(Collection)session.getAttribute("collecPage" );
  3. if(collecPage.size()>1){%>
  4.  Page(s)
  5.  <select name='gpage' onchange="javascript:chPage1()"><%
  6.   it=collecPage.iterator();
  7.   while(it.hasNext()){
  8.    PageBrowser pb=(PageBrowser)it.next();
  9.    if(pb.isSelected()){%>
  10.     <option value=<%=pb.getNumPage()%> selected><%=pb.getPremier()%> - <%=pb.getDernier()%></option>
  11.    <%}else{%>
  12.     <option value=<%=pb.getNumPage()%>><%=pb.getPremier()%> - <%=pb.getDernier()%></option>
  13.    <%}
  14.   }%>
  15.  </select>
  16. <%}%>
  17. </form>
  18. <table border=0 width="100%" cellspacing="0">
  19. <tr>
  20.  <td class='titrecol' width="35%">Nom</td>
  21.  <td class='titrecol' width="10%">
  22.   <a href="/fotocom/user/Browser.do?action=Edit...">Poids</a>
  23.  </td>
  24.  <td class='titrecol' width="15%">
  25.   <a href="/fotocom/user/Browser.do?action=Edit...>Dimensions</a>
  26.  </td>
  27.  <td class='titrecol' width="25%">
  28.   <a href="/fotocom/user/Browser.do?action=Edit...">Date de modif</a>
  29.  </td>
  30.  <td class='titrecol' width="5%" align='center'>
  31.   <a href='javascript:formbrowser.submit()'>
  32.    <img src='/fotocom/images/save.gif'>
  33.   </a>
  34.   &nbsp;
  35.   <a href='javascript:confirm_suppr()'>
  36.    <img src='/fotocom/images/poubelle.gif'>
  37.   </a>
  38.  </td>
  39. </tr>
  40. <form name="formbrowser" action="/fotocom/user/Browser.do?action=Download&gpage=<%=gpage%>&gfolder=<%=gfolder%>" method="post">
  41.  <tr class="trnorm" onMouseover="this.className='trover'" onMouseout="this.className='trnorm'">
  42.   <td colspan=4>
  43.    <a href="/fotocom/user/Browser.do?action=Edit&gpage=1&gfolder=<%=dossierRetour%>">..</a>
  44.   </td>
  45.   <td align=center>
  46.    <INPUT type=checkbox name="checkAll" onchange="javascript:checkall();">
  47.   </td>
  48.  </tr>
  49.  <tr class="trnorm" onMouseover="this.className='trover'" onMouseout="this.className='trnorm'">
  50.   <TD class='lignetab'>
  51.    <img src='/fotocom/images/dossier.gif' border='0'>
  52.     <a href="/fotocom/user/Browser.do?action=Edit...">
  53.      <%=fic.getNom()%>
  54.     </a>
  55.   </TD>
  56.   <TD class='lignetab'><%=taille%></TD>
  57.   <TD class='lignetab'><%=fic.getLargeur()%> x <%=fic.getHauteur()%></TD>
  58.   <TD class='lignetab'><%=fic.getDateModif()%></TD>
  59.   <td align='center'>
  60.    <INPUT type=checkbox name="ref<%=fic.getNom()%>" value="<%=fic.getNom()%>">
  61.   </td>
  62.  </TR>
  63. </form>
  64. </TABLE>


 
et le javascript :

Code :
  1. function chPage1(){
  2. var tot="";
  3. for(var i=0;i<document.formbrowser.elements.length;i++){
  4.  var e=document.formbrowser.elements[i];
  5.  if((e.name!='checkAll')&&(e.type=='checkbox')&&(e.disabled==false)&&(e.checked))
  6.   tot+="&"+e.value+"=";
  7. }
  8. alert(tot);
  9. req = new XMLHttpRequest();
  10. req.open('GET', 'http://jeromej:8080/fotocom/user/Browser.do?action=Edit&gfolder=/Articles/&gval=', false);
  11. req.send(tot);
  12. if(req.status == 200)
  13.  dump(req.responseText);
  14. document.formchpage1.submit();
  15. }
  16. function confirm_suppr(gpage,gfolder){
  17. var nb=0;
  18. for(var i=0;i<document.formbrowser.elements.length;i++){
  19.  var e=document.formbrowser.elements[i];
  20.  if((e.name!='checkAll')&&(e.type=='checkbox')&&(e.checked==true))
  21.   nb++;
  22. }
  23. var msg="";
  24. if(nb==1)
  25.  msg="Attention !!! Voulez vous vraiment supprimer l'image sélectionnée?";
  26. if(nb>1)
  27.  msg="Attention !!! Voulez vous vraiment supprimer les images sélectionnées?";
  28. if(nb==0)
  29.  alert("Vous n'avez pas sélectionné de ligne." );
  30. else{
  31.  if(confirm(msg)){
  32.   document.formbrowser.action="/fotocom/user/Browser.do?action=Delete&gpage="+gpage+"&gfolder="+gfolder;
  33.   document.formbrowser.submit();
  34.  }
  35. }
  36. }
  37. function checkall(){
  38. var nb=0;
  39. for(var i=0;i<document.formbrowser.elements.length;i++){
  40.  var e=document.formbrowser.elements[i];
  41.  if((e.name!='checkAll')&&(e.type=='checkbox')&&(e.disabled==false))
  42.   e.checked=document.formbrowser.checkAll.checked;
  43. }
  44. }

Reply

Marsh Posté le 18-10-2005 à 15:32:36    

finalement j'ai resolu la chose en ne faisant qu'un formulaire ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed