[Javascript] la page appelé ne se charge pas

david_60 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
 david_60 -
Bonjour,

Salut, j'ai un problème avec mon script il ne charge pas la page appelée il doit, il y a une erreur quelque part mais je suis novice en JavaScript et sa fait des heures que je tourne en rond sans comprendre .

J'ai 2champ à récupérer l'id du membre ainsi que son statue .

Si vous pourriez m'expliquer .
merci
function confirm_statut(a,b) 
 { 
   var http_request = false; 

  if (window.XMLHttpRequest) 
  { 
   // Mozilla, Safari,... 
   http_request = new XMLHttpRequest(); 
   if (http_request.overrideMimeType) { 
    // http_request.overrideMimeType('text/xml'); 
    // See note below about this line 
   } 
  } 
  else if (window.ActiveXObject) 
  { 
   // IE 
   try 
   { 
    http_request = new ActiveXObject(\"Msxml2.XMLHTTP\"); 
   } 
   catch (e) 
   { 
    try 
    { 
     http_request = new ActiveXObject(\"Microsoft.XMLHTTP\"); 
    } catch (e) {} 
   } 
  } 

  if (!http_request) 
  { 
   alert('Giving up :( Cannot create an XMLHTTP instance'); 
   return false; 
  } 
  http_request.onreadystatechange = function() { c_alertContents(http_request); }; 
   
            var statut = document.getElementById(HospType); 
            var id_pseudo = document.getElementById(id_pseudo); 
     var url ='statut.php' ;  

        http_request.open('POST', url, true); 
  http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
  http_request.send(txt); 
  return false; 

     } 
______________________________________________
______________________________________________
   
 function c_alertContents(http_request) 
 { 
  if (http_request.readyState == 4) 
  { 
   if (http_request.status == 200) 
   { 
     
    if(document.getElementById('s_c_button')!=null){ 
    document.getElementById('s_c_button').value='Valider';} 
   } 
   else 
   { 
    /* alerte énervante et n'apportant rien !! 
    alert('There was a problem with the request.'); 
       */ 
   } 
  } 
 } 
____________________________________________
____________________________________________
<form name="statut" action="index.php" onkeypress="entree_submit(event,document.statut)"> 
       
    <input type="hidden" maxlength="30" name="id_pseudo" id="id_pseudo" value="'.$K_user->id.'" /> 
     
    <input type="radio" name="HospType" id="HospType" value="<img src=\'odules/stats/images/icones/online.png\' tilte=\'Online\'>"  /> 
                 <label for="HospType1">  En Ligne</label></p> 

    <input type="radio" name="HospType" id="HospType" value="<img src=\'odules/stats/images/icones/occuper.png\' tilte=\'Occupé\'>"  /> 
                 <label for="HospType1">  Occupé</label></p> 
   
             <input type="radio" name="HospType" id="HospType" value="<img src=\'modules/stats/images/icones/offline.png\' tilte=\'Absent\'>"  /> 
             <label for="HospType2">  Absent</label></p> 
     
            <input type="submit" value="Valider"  
onclick="confirm_statut(escape(document.getElementById(\'Hostype\').value),escape(document.getElementById(\'id_pseudo\').value))" id="s_c_button"/>    
             
   </form> 

7 réponses

quo
 
Tu est le genre de personne qui se construit un bras mécanique avec des légos pour lui brosser les dents le matin.

Qu'est ce que tu essaye de faire exactement ?

Si tu veux que ta page sois lancé de manière asynchrone avec du ajax utilise une librairie comme jQuery.
Si tu ne veux pas, alors pourquoi pas un simple submit ?
0
david_60 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
lol

en faite je n'y connais absolument rien en javascript .

Je voudrais simplement que lorsque je coche une des trois cases, cela me charge mon fichier afin de mettre a jours la bdd pour changer l'image et dire aux autres membres que je suis absent par exemple.

Mais j'ai l'impression que plus je cherche plus je suis perdu
0
quo
 
Encore une fois ça dépend de la manière dont tu veux le faire. L'intérêt du javascript dans le cas d'une insertion en base est de permettre de pouvoir le faire sans recharger la page. Dans ce cas > Ajax avec une librairie.
Mais si c'est juste pour ce que tu dit, réinvente pas la roue et fais un <form> html basique.

Je te conseille de prendre du recul et poser ton problème à plat.
0
david_60 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Si je dis pas de bêtises si je mets mon <form> dans mon module une fois que je vais valider sa va me faire aller sur la page du module ?
0
quo
 
Dans ton module...
Tu travaille sur un CMS ?
0
david_60 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
oui
0
quo
 
Les CMS sont remplis de dépendances et de trucs dans le genre. Tu risque de casser des choses sans le savoir tout de suite.

Impossibles de tripatouiller le code sans une solide connaissance de la façon dont il est conçu. Je te conseille d'aller sur le site de ?joomla? , au pif, bref, pour chercher les conseilles sur la façon de le modifier.

Va plutôt demander de l'aide sur leurs forums si tu n'y arrive pas après ca.
0
david_60 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Bon après environ 10h lol bein j'en suis pas vraiment loin, j'arrive pour l'instent et rejoindre ma page avec la requête sql .

je cherche maintenant a pouvoir mettre deux champ et pouvoir les récupérer dans mon fichier

les deux champs sont:

<input type="hidden" maxlength="30" name="id_pseudo" id="id_pseudo" value="'.$K_user->id.'" />


<input type="radio" name="HospType" id="HospType" value="1"/>
<label for="HospType1">  En Ligne</label></p>


merci .
	function submitForm()
	{ 
		var req =  createInstance();

		req.onreadystatechange = function()
		{ 
			if(req.readyState == 4)
			{
				if(req.status == 200)
				{
					storing(req.responseText, element);	
				}	
				else	
				{
					alert("Error: returned status code " + req.status + " " + req.statusText);
				}	
			} 
		}; 
		req.open("GET", "index.php?mod=stats&ac=demo&id=" + id + "", true); 
		req.send(null); 
		
	} 

</script>


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
david_60 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
bon voila le script fonctionne mais je rencontre un souci . Avec une seule id hosptype sa fonctionne mais dès que j'en met 2 ou 3 sa fonctionne plus sa prend toujours le 1er id ?

auriez vous une idées ??


<form name="ajax"  method="post" action="index.php?mod=stats&ac=statut">

<input type="hidden" maxlength="30" name="id_pseudo" id="id_pseudo" value="'.$K_user->id.'" />
			 
<input type="radio" name="HospType" id="hosptype" value="6"/>
                 <label for="HospType1">&nbsp;&nbsp;En Ligne</label></p>
				 
<input type="radio" name="HospType" id="hosptype" value="2"  />
                 <label for="HospType1">&nbsp;&nbsp;Occupé</label></p>
				 	 
<input type="radio" name="HospType" id="hosptype" value="3"  />
             <label for="HospType2">&nbsp;&nbsp;Absent</label></p>
			 	<p>
<input type="button" value="Envoyer" id="statut" onclick="submitForm()" />
	</p>
</form>

<script language="JavaScript">

	function createInstance()
	{
        var req = null;
		if (window.XMLHttpRequest)
		{
 			req = new XMLHttpRequest();
		} 
		else if (window.ActiveXObject) 
		{
			try {
				req = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e)
			{
				try {
					req = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) 
				{
					alert("XHR not created");
				}
			}
	        }
        return req;
	};

	

	function submitForm()
	{ 
		var req =  createInstance();
        var choix = encodeURIComponent(document.getElementById(\'hosptype\').value);
		var id_user = encodeURIComponent(document.getElementById(\'id_pseudo\').value);
		var parameters="int_id="+id_user+"&choix="+choix;
		
		alert(parameters);
		req.onreadystatechange = function()
		{ 
			if(req.readyState == 4)
			{
				if(req.status == 200)
				{
					storing(req.responseText, element);	
				}	
				else	
				{
					alert("Error: returned status code " + req.status + " " + req.statusText);
				}	
			} 
		}; 
		
		req.open("POST", "index.php?mod=stats&ac=demo&int_id=" + statut, true); 
	    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
		req.send(parameters); 
	} 
</script>
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
normal tes 3 input radio ont le même id hosptype, hors c'est grace à cet id que tu vient lire leur valeur

il faut mettre trois id différents et les envoyer tous les trois en parametres
0
david_60
 
Oui merci,

c'est bon j'ai réussi le code merci .

<form name="ajax"  method="post" action="index.php?">
                   <input type="hidden" maxlength="30" name="id_pseudo" id="id_pseudo" value="'.$K_user->id.'" />
         		   <input type="radio" name="HospType" id="online" value="1"/><label for="HospType1">&nbsp;&nbsp;En Ligne</label></p>
				   <input type="radio" name="HospType" id="occuper" value="2"/><label for="HospType1">&nbsp;&nbsp;Occuper</label></p>
			       <input type="radio" name="HospType" id="offline" value="3"/> <label for="HospType1">&nbsp;&nbsp;Absent</label></p>	 
			 	     <p>
	                  <input type="button" value="Envoyer" id="statut" onclick="submitForm()" />
	                 </p>
            </form>


function submitForm()
	{ 
		var req =  createInstance();
		
        var choix =  document.getElementById('online').checked;
	    var choix2 =  document.getElementById('offline').checked;
	    var choix3 =  document.getElementById('occuper').checked;


		var id_user = encodeURIComponent(document.getElementById('id_pseudo').value);
		
		if (choix) {
			var choix = encodeURIComponent(document.getElementById('online').value);
         }
        if (choix2) {
            var choix = encodeURIComponent(document.getElementById('offline').value);
        }
		if (choix3) {
            var choix = encodeURIComponent(document.getElementById('occuper').value);
        }
		
		var parameters="int_id="+id_user+"&choix="+choix;
		
		
		req.onreadystatechange = function()
		{ 
			if(req.readyState == 4)
			{
				if(req.status == 200)
				{
					storing(req.responseText, element); 
				}	
				else	
				{
					alert("Error: returned status code " + req.status + " " + req.statusText);
				}	
			} 
		}; 
		
		req.open("POST", "index.php?mod=stats&ac=demo", true); 
	    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
		req.send(parameters); 
	} 
  
0