Bepaalde javascript handle uitvoeren
Ik ben op dit moment bezig met een AJAX rating systeem. Nu wil ik dat zodra de stem succesvol is toegevoegd dat in mijn normale pagina het aantal stemmen 1 omhoog gaat en dat ik ook de breedte van een div opnieuw kan instellen. Ik heb al verschillende dingen geprobeerd maar ik kom er niet uit.
Voorgrond php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<span>
<ul class="star_rating">
<li class="current_rating" style="width: <?php echo $rounded_pixel; ?>px;"></li>
<li><a onclick="rate(<?php echo $_GET['id']; ?>, 1); return false;" title="Onvoldoende!" class="one_star">1</a></li>
<li><a onclick="rate(<?php echo $_GET['id']; ?>, 2); return false;" title="Matig!" class="two_stars">2</a></li>
<li><a onclick="rate(<?php echo $_GET['id']; ?>, 3); return false;" title="Voldoende!" class="three_stars">3</a></li>
<li><a onclick="rate(<?php echo $_GET['id']; ?>, 4); return false;" title="Ruim Voldoende!" class="four_stars">4</a></li>
<li><a onclick="rate(<?php echo $_GET['id']; ?>, 5); return false;" title="Goed!" class="five_stars">5</a></li>
</ul>
</span>
Rating (<?php echo $votes; ?>) <div style="float: left;" id="response"></div>
<ul class="star_rating">
<li class="current_rating" style="width: <?php echo $rounded_pixel; ?>px;"></li>
<li><a onclick="rate(<?php echo $_GET['id']; ?>, 1); return false;" title="Onvoldoende!" class="one_star">1</a></li>
<li><a onclick="rate(<?php echo $_GET['id']; ?>, 2); return false;" title="Matig!" class="two_stars">2</a></li>
<li><a onclick="rate(<?php echo $_GET['id']; ?>, 3); return false;" title="Voldoende!" class="three_stars">3</a></li>
<li><a onclick="rate(<?php echo $_GET['id']; ?>, 4); return false;" title="Ruim Voldoende!" class="four_stars">4</a></li>
<li><a onclick="rate(<?php echo $_GET['id']; ?>, 5); return false;" title="Goed!" class="five_stars">5</a></li>
</ul>
</span>
Rating (<?php echo $votes; ?>) <div style="float: left;" id="response"></div>
Javascript (alleen handle response)
Code (php)
1
2
3
4
2
3
4
function rate_handle_response(response)
{
document.getElementById('response').innerHTML = '<b>' + response + ' | </b>';
}
{
document.getElementById('response').innerHTML = '<b>' + response + ' | </b>';
}
Background php:
Code (php)
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
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
<?php
session_start();
include 'inc_db.php';
// valid ratings
$nummers = array(1, 2, 3, 4, 5);
$gedicht_id = isset($_GET['id']) && ctype_digit($_GET['id']) ? $_GET['id'] : false;
$rate_rating = isset($_GET['rating']) && ctype_digit($_GET['rating']) && in_array($_GET['rating'], $nummers) ? $_GET['rating'] : false;
if($gedicht_id && $rate_rating)
{ $query = "SELECT COUNT(*) as rated_before
FROM gedicht_rate
WHERE rate_user = ".**."
AND rate_gedicht = ".$gedicht_id;
if(!$result = mysql_query($query))
{
echo 'Je kunt alleen stemmen op een gedicht als je <a href="login">ingelogd</a> en <a href="registreer/>geregistreerd</a> bent!';
exit;
}
$row = mysql_fetch_assoc($result);
if(!$row['rated_before'])
{
$query = "INSERT INTO gedicht_rate (rate_gedicht, rate_user, rate_date, rate_ip, rate_rating)
VALUES (".$gedicht_id.", ".$_SESSION['sess_memberid'].", NOW(), '".$_SERVER['REMOTE_ADDR']."', ".$rate_rating.")";
if(!$result = mysql_query($query))
{
echo "Error: kon rating niet toevoegen".mysql_error();
exit;
}
else
{
echo "Bedankt voor je stem!";
}
}
else
{
echo "Je hebt al een keer op dit gedicht gestemd!";
}
}
?>
session_start();
include 'inc_db.php';
// valid ratings
$nummers = array(1, 2, 3, 4, 5);
$gedicht_id = isset($_GET['id']) && ctype_digit($_GET['id']) ? $_GET['id'] : false;
$rate_rating = isset($_GET['rating']) && ctype_digit($_GET['rating']) && in_array($_GET['rating'], $nummers) ? $_GET['rating'] : false;
if($gedicht_id && $rate_rating)
{ $query = "SELECT COUNT(*) as rated_before
FROM gedicht_rate
WHERE rate_user = ".**."
AND rate_gedicht = ".$gedicht_id;
if(!$result = mysql_query($query))
{
echo 'Je kunt alleen stemmen op een gedicht als je <a href="login">ingelogd</a> en <a href="registreer/>geregistreerd</a> bent!';
exit;
}
$row = mysql_fetch_assoc($result);
if(!$row['rated_before'])
{
$query = "INSERT INTO gedicht_rate (rate_gedicht, rate_user, rate_date, rate_ip, rate_rating)
VALUES (".$gedicht_id.", ".$_SESSION['sess_memberid'].", NOW(), '".$_SERVER['REMOTE_ADDR']."', ".$rate_rating.")";
if(!$result = mysql_query($query))
{
echo "Error: kon rating niet toevoegen".mysql_error();
exit;
}
else
{
echo "Bedankt voor je stem!";
}
}
else
{
echo "Je hebt al een keer op dit gedicht gestemd!";
}
}
?>
Wie kan mij helpen?
kijk eens naar jquery library.. gaat je vast gelukkig maken :)
Leuk hoor, maar waar is je js functie rate?