tomdelonge
Gebruiker
- Lid geworden
- 2 mei 2007
- Berichten
- 11
Hi all,
Ik wil twee en later drie polls op mijn site en heb de code voor een ajax poll gekopieerd van w3schools. Nu lukt dat goed voor 1 poll, maar bij het aanpassen van de code voor 2 polls moet ik iets verkeerd doen.
Ik heb een poll voor date en een poll voor location. Het resultaat wordt opgeslagen in een txt file. De files vind je onder http://www.storylinedesign.be/tesst/poll.zip. De poll zelf kan je testen op http://www.storylinedesign.be/tesst. Je zal zien dat het resultaat van de bovenste poll getoond wordt in het vak van de tweede poll. De div's rond de forms heten nochtans anders.
Hieronder de code.
Kunnen jullie mij helpen?
Groetjes,
Tom
Mijn html pagina ziet er als volgt uit:
Head:
Body:
De js files:
poll_date.js
poll_location.js
De php files die het resultaat weergeven:
poll_vote_date.php
poll_vote_location.php
De tekstfiles zijn simpelweg als volgt opgebouwd: voorbeeld: 13||56
Ik wil twee en later drie polls op mijn site en heb de code voor een ajax poll gekopieerd van w3schools. Nu lukt dat goed voor 1 poll, maar bij het aanpassen van de code voor 2 polls moet ik iets verkeerd doen.
Ik heb een poll voor date en een poll voor location. Het resultaat wordt opgeslagen in een txt file. De files vind je onder http://www.storylinedesign.be/tesst/poll.zip. De poll zelf kan je testen op http://www.storylinedesign.be/tesst. Je zal zien dat het resultaat van de bovenste poll getoond wordt in het vak van de tweede poll. De div's rond de forms heten nochtans anders.
Hieronder de code.
Kunnen jullie mij helpen?
Groetjes,
Tom
Mijn html pagina ziet er als volgt uit:
Head:
Code:
<script src="poll_date.js"></script>
<script src="poll_location.js"></script>
Body:
Code:
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Datum:</td>
<td>
<div id="poll_date">
<form>
<input type="radio" name="voted" value="0" onclick="getVoteDate(this.value)">
21/02<br/>
<input type="radio" name="voted" value="1" onclick="getVoteDate(this.value)">
07/03
</form>
</div></td>
</tr>
<tr>
<td>Locatie:</td>
<td>
<div id="poll_location">
<form>
<input type="radio" name="votel" value="2" onclick="getVoteLocation(this.value)">
ICC<br/>
<input type="radio" name="votel" value="3" onclick="getVoteLocation(this.value)">
ARTCUBE
</form>
</div>
</td>
</tr>
</table>
De js files:
poll_date.js
Code:
var xmlHttp
function getVoteDate(int)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="poll_vote_date.php"
url=url+"?voted="+int
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("poll_date").innerHTML=xmlHttp.responseText;
}
}
function GetXmlHttpObject()
{
var objXMLHttp=null
if (window.XMLHttpRequest)
{
objXMLHttp=new XMLHttpRequest()
}
else if (window.ActiveXObject)
{
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp
}
poll_location.js
Code:
var xmlHttp
function getVoteLocation(int)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="poll_vote_location.php"
url=url+"?votel="+int
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("poll_location").
innerHTML=xmlHttp.responseText;
}
}
function GetXmlHttpObject()
{
var objXMLHttp=null
if (window.XMLHttpRequest)
{
objXMLHttp=new XMLHttpRequest()
}
else if (window.ActiveXObject)
{
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp
}
De php files die het resultaat weergeven:
poll_vote_date.php
Code:
<?php
$vote = $_REQUEST['voted'];
//get content of textfile
$filename = "poll_result_date.txt";
$content = file($filename);
//put content in array
$array = explode("||", $content[0]);
$yes = $array[0];
$no = $array[1];
if ($vote == 0)
{
$yes = $yes + 1;
}
if ($vote == 1)
{
$no = $no + 1;
}
//insert votes to txt file
$insertvote = $yes."||".$no;
$fp = fopen($filename,"w");
fputs($fp,$insertvote);
fclose($fp);
?>
<table>
<tr>
<td>21/02</td>
<td>
<img src="poll.gif"
width='<?php echo(100*round($yes/($no+$yes),2)); ?>'
height='20'>
<?php echo(100*round($yes/($no+$yes),2)); ?>%
</td>
</tr>
<tr>
<td>07/03</td>
<td>
<img src="poll.gif"
width='<?php echo(100*round($no/($no+$yes),2)); ?>'
height='20'>
<?php echo(100*round($no/($no+$yes),2)); ?>%
</td>
</tr>
</table>
poll_vote_location.php
Code:
<?php
$vote = $_REQUEST['votel'];
//get content of textfile
$filename = "poll_result_location.txt";
$content = file($filename);
//put content in array
$array = explode("||", $content[0]);
$yes = $array[0];
$no = $array[1];
if ($vote == 2)
{
$yes = $yes + 1;
}
if ($vote == 3)
{
$no = $no + 1;
}
//insert votes to txt file
$insertvote = $yes."||".$no;
$fp = fopen($filename,"w");
fputs($fp,$insertvote);
fclose($fp);
?>
<table>
<tr>
<td>ICC</td>
<td>
<img src="poll.gif"
width='<?php echo(100*round($yes/($no+$yes),2)); ?>'
height='20'>
<?php echo(100*round($yes/($no+$yes),2)); ?>%
</td>
</tr>
<tr>
<td>ARTCUBE</td>
<td>
<img src="poll.gif"
width='<?php echo(100*round($no/($no+$yes),2)); ?>'
height='20'>
<?php echo(100*round($no/($no+$yes),2)); ?>%
</td>
</tr>
</table>
De tekstfiles zijn simpelweg als volgt opgebouwd: voorbeeld: 13||56