Hi all
i have this problem with my ajax script that it is working with IE but not on firefox.this script is updating database. following is AJAX Script::
<script type="text/javascript">
function ajaxpost(){
var mypostrequest;
try
{
// Firefox, Opera 8.0+, Safari
mypostrequest = new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
mypostrequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
mypostrequest = new ActiveXObject("Microsoft.XMLHTTP");
}
}
mypostrequest.onreadystatechange=function(){
if (mypostrequest.readyState == 4) {
res = mypostrequest.responseText; // These following lines get the response and update the page
document.getElementById('result').innerHTML = res;
//document.getElementById('result').value = res;
}
}
var parameters =
"client="+encodeURI(document.getElementById("client").value)+
"&user="+encodeURI(document.getElementById("user").value)+
"&frmtim="+encodeURI(document.getElementById("frmtim").value)+
"&totim="+encodeURI(document.getElementById("totim").value)+
"&title="+encodeURI(document.getElementById("title").value)+
"&type="+encodeURI(document.getElementById("type").value)+
"&desc="+encodeURI(document.getElementById("desc").value)+
"&date="+encodeURI(document.getElementById("date").value);
var url = "https://client.extremescreamproductions.com/leads/ajaxpost.php";
mypostrequest.open("POST", url, true);
mypostrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
mypostrequest.setRequestHeader("Content-length", parameters.length);
mypostrequest.setRequestHeader("Connection", "close");
mypostrequest.send(parameters);
}
</script>
HTML page is::
<form method = "post"action="" id="action_time">
<table>
<tr><td>Client</td><td><input name="client" type="text" id="client" value="<% print $hname; %>"/> </td>
<td>User</td><td><input name="user" type="text" id="user"
value="<% print $auth->auth[first_name]." ".$auth->auth[last_name]; %>"/> </td></tr>
<tr><td>From</td><td><input name="frmtim" type="text" id="frmtim" maxlength="8" value="<?php echo $cur_time;?>"/></td>
<td>To</td><td><input name="totim" type="text" id="totim" maxlength="8"/></td></tr>
<tr><td>Title</td><td><input name="title" type="text" id="title"/> </td>
<td>Type</td><td><select name="type"><option id="opt1" value="type1">Type 1</option>
<option id="opt2" value="type2">Type 2</option>
<option id="opt3" value="type3">Type 3</option>
<option id="opt4" value="type4">Type 4</option>
</select> </td><td></td><td></td></tr>
<tr><td>Description</td><td colspan="3"><textarea name="desc" id="desc" rows="5" cols="15">description goes here</textarea> </td></tr>
<tr><td>Date</td><td><input name="date" id="date" size="15" value="<?php echo $cur_date;?>"></td> <td colspan="2">
<input type="submit" value="Submit" name ="post_time" id="actiontime" class="buttons" onClick="ajaxpost(); return false;"/></td></tr>
</table></form>
PHP Script (ajaxpost.php)::
<?php
$client = $_POST['client'];
$user = $_POST['user'];
$frmtim = $_POST['frmtim'];
$totim = $_POST['totim'];
$title = $_POST['title'];
$type = $_POST['type'];
$desc = $_POST['desc'];
$date = $_POST['date'];
$databasehost = "localhost";
$databasename = "db";
$databaseusername ="user";
$databasepassword = "pass";
$con = @mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error());
@mysql_select_db($databasename) or die(mysql_error());
list($h1,$m1,$s1)=split(":",$frmtim);
list($h2,$m2,$s2)=split(":",$totim);
if($h1 > $h2){
$second1=$s1+($h1*3600)+($m1*60);//converting it into seconds
$second2=$s2+($h2*3600)+($m2*60);
}else{
$second2=$s1+($h1*3600)+($m1*60);//converting it into seconds
$second1=$s2+($h2*3600)+($m2*60);
}
if ($second1==$second2)
{
$total_tim="00:00:00";
}
if ($second1<$second2) //
{
$second1=$second1+(24*60*60);//adding 24 hours to it.
}
$second3=$second1-$second2;
//print $second3;
if ($second3==0)
{
$h3=0;
}
else
{
$h3=floor($second3/3600);//find total hours
}
$remSecond=$second3-($h3*3600);//get remaining seconds
if ($remSecond==0)
{
$m3=0;
}
else
{
$m3=floor($remSecond/60);// for finding remaining minutes
}
$s3=$remSecond-(60*$m3);
if($h3==0)//formating result.
{
$h3="00";
}
if($m3==0)
{
$m3="00";
}
if($s3==0)
{
$s3="00";
}
$totaltime = 0;
$th = 0;
$tm = 0;
$ts = 0;
$total_tim = "$h3:$m3:$s3";
$pkstr = $frmtim;
$pkstr .= $date;
$pkstr .= $user;
$pk = md5("$pkstr");
$insert_query="insert into actiontime values('$pk','$client','$user','$total_tim','$title','$type','$desc','$date');";
@mysql_query($insert_query,$con);
$sel_query = "select total_time from actiontime where client ='$client' AND user = '$user';";
$result = @mysql_query($sel_query,$con);
while($values = mysql_fetch_array($result)){
$a = $values['total_time'];
list($h,$m,$s)=split(":",$a);
$th = $th + $h;
$tm = $tm + $m;
$ts = $ts + $s;
}
$second=$ts+($th*3600)+($tm*60);
$th=floor($second/3600);//find total hours
$remSecond=$second-($th*3600);//get remaining seconds
$tm=floor($remSecond/60);// for finding remaining minutes
$ts=$remSecond-(60*$tm);
$totaltime = "Hr:$th Min:$tm Sec:$ts";
echo $totaltime;
?>
i get no error on firefox.
i have tried it on firefox 2.0 and 3.0 as well.Please help
Thanks a million in advance
jyoti u