[AJAX] javascript et ajax apres appel div
Salut,
Je suis nouveau ici et je débute dans l'ajax.
Je vous explique mon problème :
J'envoie un formulaire dans un div avec une fonction ajax jusqu'à la rien d'extraordinaire car ca marche, mais dans la page appelée dans le div qui a contrôlé les infos du formulaire, j'ai une inclusion d'un autre page avec une fonction horloge java avec un setTimeout qui doit changer l'heure toute les secondes (normal lol) mais la ca ne fonctionne pas. Par contre quand j'exécute la page seul la fonction se lance bien.
Code de la page principal.php :
Code:
1 2 3 4 5 6 7 8
| ...
<script language="javascript" type="text/javascript" src="fonctions/ajax.js" ></script>
<?
echo"<div id=\"formulaire\" style=\"position:absolute; visibility:visible; width:100%; height:100%; top:0; left:0; z-index:2;\">";
include('formulaire.php');
echo"</div>";
?>
... |
Code de la page ajax.js :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| function donnee_get(form1)
{
var data1 = "";
var forma = document.getElementById(form1);
var elements = forma.elements;
for(var i=0; i<forma.length; i++)
{
data1 += elements[i].name + "=" +escape(elements[i].value);
if((i+1)<forma.length)
{
data1+="&";
}
}
return data1;
}
function post_get(fichier, div, method, form)
{
var xhr=null;
var data="null";
if(form!="null")
{
if(method=="GET")
{
data=form;
method="POST";
}
else
{
data = donnee_get(form);
}
}
if (window.XMLHttpRequest)
{
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.open( method, fichier, false);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(data);
if (document.getElementById)
{
document.getElementById(div).innerHTML=xhr.responseText;
}
else
{
if (document.layers)
{
document.div.innerHTML=xhr.responseText;
}
else
{
document.all.div.innerHTML=xhr.responseText;
}
}
} |
Code de la page formulaire php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
<?
if(isset($_POST['login']) && isset($_POST['password']))
{
...
include('horloge.php');
...
}
else
{
...
<form id="formulaire1" name="formulaire1" method="post" action="javascript:post_get('formulaire.php', 'general', 'POST', 'formulaire1');" style="margin:0px; padding:0px;">
...
</form>
...
}
?> |
Code de la page horloge.php :
Code:
1 2 3 4 5 6 7
| <script language="javascript" type="text/javascript" src="fonctions/horloge.js" ></script>
<table width="100%" height="40" border="0" cellspacing="0" cellpadding="0" background="images/structure/barre_haute.png">
<tr>
<td id="td_header"> </td>
<td id="horloge" width="100" style="color:#FFFFFF; font-size:18px; font-weight:bold;"> </td>
</tr>
</table> |
Code de la page horloge.js :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| function horloge(idw)
{
var idvalue=idw;
var today=new Date();
var heuresimple="";
h = today.getHours();
m = today.getMinutes();
s = today.getSeconds();
if(h<10)
{ h = '0'+h; }
if(m<10)
{ m = '0'+m; }
if(s<10)
{ s = '0'+s; }
heuresimple = ''+h+' : '+m+' : '+s+'';
document.getElementById(idvalue).innerHTML = heuresimple;
setTimeout('horloge(\'horloge\')',1000);
}
setTimeout('horloge(\'horloge\')',10); |
Donc si quelqu'un aurai une suggestion a mon problème ca serai bien car pour le moment j'ai rien trouvé sur google qui pourrai m'aider.
probleme javascript et ajax sous IE
Bonjour,
Désolé d'ouvrir ce message qui commence à se faire vieux.
Et merci pour ce dernier script, c'est exactement ce que je cherchais !
Alors sous Firefox v3.6 aucun soucis ça fonctionne parfaitement !
Par contre sous IE v7 ça ne fonctionne pas du tout. je n'ai pas d'erreur de compilation mais il ne se passe rien...
Dans mon PHP appelé depuis mon Ajax, j'ai tout simplement ça
Code:
echo "<SCRIPT>alert('blablabla');</SCRIPT>";
Quelqu'un à rencontré ce problème ? une idée de correction ?
Merci d'avance.