[Javascript] la page appelé ne se charge pas

Fermé
david_60 Messages postés 6 Date d'inscription vendredi 21 septembre 2012 Statut Membre Dernière intervention 22 septembre 2012 - Modifié par david_60 le 21/09/2012 à 11:16
 david_60 - 24 sept. 2012 à 11:56
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> 
A voir également:

7 réponses

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 vendredi 21 septembre 2012 Statut Membre Dernière intervention 22 septembre 2012
21 sept. 2012 à 14:31
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
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 vendredi 21 septembre 2012 Statut Membre Dernière intervention 22 septembre 2012
21 sept. 2012 à 14:58
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
Dans ton module...
Tu travaille sur un CMS ?
0
david_60 Messages postés 6 Date d'inscription vendredi 21 septembre 2012 Statut Membre Dernière intervention 22 septembre 2012
21 sept. 2012 à 17:01
oui
0
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 vendredi 21 septembre 2012 Statut Membre Dernière intervention 22 septembre 2012
21 sept. 2012 à 19:20
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 vendredi 21 septembre 2012 Statut Membre Dernière intervention 22 septembre 2012
22 sept. 2012 à 00:26
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
24 sept. 2012 à 10:52
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
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