AJAX document.getElementById problemer
Hej, jeg er ved at lave en chatbox der bruger ajax til at auto refresh en DIV med "chat". Dette virker fint.Mit problem er når jeg prøver at få value fra et textfield med.
Jeg har prøvet en masse og har fundet ud af at getElementsByTagName på et textfield ikke er muligt. Det jeg skal bruge er document.getElementById, men jeg kan ikke få det til at virke.
chat.php
<?php
$userid = "1";
$projectid = "22";
$ChatForm = '<script language="JavaScript" type="text/javascript" src="chat.js"></script>
<div id="chatarea" name="chatarea">
noget her måske
</div>
<div id="chattexter">
<form id="chat" name="chatbox" method="POST" onsubmit="saveData(); return false;">
<p>Name:<br /><input name="chatName" type="text" />
<br />UserID:<br /><input name="chatUserid" value="'.$userid.'" type="text" />
<br />ProjectID:<br /><input name="chatProjectid" id="chatProjectid" value="'.$projectid.'" type="text" />
<br />Comment:<br /><input name="chatMsg" type="text" />
<input type="submit" name="submit" value="submit" /></p>
</form>
</div>';
echo $ChatForm;
?>
chatout.php
<?php
header("Cache-Control: no-store, no-cache, must-revalidate");
echo "1: <br/>";
print_r($_GET['id']);
echo "<br/>";
echo "2: <br/>";
$projectid = $_GET['id'];
echo $projectid;
echo "<br/>";
echo "3: <br/>";
echo "VIRK!";
?>
chat.js
function ajaxFunction()
{
var ajaxRequest;
try
{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer Browsers
try
{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e)
{
try
{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e)
{
//browsers all not support, rare case
alert("Your browser broke!");
return false;
}
}
}
return ajaxRequest;
}
function showData()
{
var projectid;
htmlRequest = ajaxFunction();
if (htmlRequest==null)
{
alert ("Browser does not support HTTP Request");
return;
}
htmlRequest.onreadystatechange = function()
{
if(htmlRequest.readyState == 4)
{
document.getElementById("chatarea").innerHTML = htmlRequest.responseText;
}
}
projectid = document.getElementsByTagName("chatProjectid");
//projectid = document.getElementById("chatProjectid");
htmlRequest.open("GET", "chatout.php?id="+projectid.value, true);
htmlRequest.send(null);
}
showData();
setInterval("showData()",2000);
DIV chatarea bliver fyldt med chatout.phps indhold. Problemet er bare at jeg kun får undefined over.
Hvad gør jeg forkert?
Har brugt alt for mange timer på det og må sige at jeg er ved at blive lidt skør.