JavaScript - Problema con javascript

   
Vista:

Problema con javascript

Publicado por Jordi (9 intervenciones) el 20/03/2016 20:51:47
Tengo un javascript que no acaba de funcionar...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<script language="javascript">
function votar_positivo(){
    var variable_post="<? echo $categoria_opiniones; ?>";
    var id = document.getElementById('votopositivo').dataset.id;
    var voto = document.getElementById('votopositivo').dataset.voto;
 
    $.post("../includes/votar.php", { variable: variable_post, 'id':id, 'voto':voto }, function(data){
    $("#votarpositivo(id)").html(data);
    });
}
function votar_negativo(){
    var variable_post="<? echo $categoria_opiniones; ?>";
    var id = document.getElementById('votonegativo').dataset.id;
    var voto = document.getElementById('votonegativo').dataset.voto;
 
    $.post("../includes/votar.php", { variable: variable_post, 'id':id, 'voto':voto }, function(data){
    $("#votarnegativo(id)").html(data);
    });
}
</script>

1
2
3
4
5
<img style="float:left;" src="../images/me-gusta.png" id="votopositivo" onclick="javascript:votar_positivo();" data-id="<? echo $row['id']; ?>" data-voto="positivo">
 <span style="float:left;font-size:12px;color:#908E8E;" id="votarpositivo(<? echo $row['id']; ?>)">&nbsp;<? echo $row['me_gusta']; ?></span>
 
<img style="float:left;" src="../images/no-me-gusta.png" id="votonegativo" onclick="javascript:votar_negativo();" data-id="<? echo $row['id']; ?>" data-voto="negativo">
<span style="float:left;font-size:12px;color:#908E8E;" id="votarnegativo(<? echo $row['id']; ?>)">&nbsp;<? echo $row['no_me_gusta']; ?></span>

creo que el problema esta en $("#votarnegativo(id)").html(data); y $("#votarpositivo(id)").html(data);
y en id="votarnegativo(<? echo $row['id']; ?>)" y id="votarpositivo(<? echo $row['id']; ?>)"

alguien puede ayudarme plis
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Problema con javascript

Publicado por xve (1595 intervenciones) el 20/03/2016 21:12:51
Hola Jordi, pero te da algún error en la consola del navegador?

Que tendría que hacer que no hace?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con javascript

Publicado por Jordi (9 intervenciones) el 20/03/2016 21:31:48
Buenas,

A ver me explico... me he echo a partir de unos ejemplos que he encontrado en foros un sistema de votos

en un principio el código lo tenia así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<script language="javascript">
function votar_positivo(){
    var variable_post="<? echo $categoria_opiniones; ?>";
    var id = document.getElementById('votopositivo').dataset.id;
    var voto = document.getElementById('votopositivo').dataset.voto;
 
    $.post("../includes/votar.php", { variable: variable_post, 'id':id, 'voto':voto }, function(data){
    $("#votarpositivo").html(data);
    });
}
function votar_negativo(){
    var variable_post="<? echo $categoria_opiniones; ?>";
    var id = document.getElementById('votonegativo').dataset.id;
    var voto = document.getElementById('votonegativo').dataset.voto;
 
    $.post("../includes/votar.php", { variable: variable_post, 'id':id, 'voto':voto }, function(data){
    $("#votarnegativo").html(data);
    });
}
</script>

1
2
3
4
5
<img style="float:left;" src="../images/me-gusta.png" id="votopositivo" onclick="javascript:votar_positivo();" data-id="<? echo $row['id']; ?>" data-voto="positivo">
 <span style="float:left;font-size:12px;color:#908E8E;" id="votarpositivo">&nbsp;<? echo $row['me_gusta']; ?></span>
 
<img style="float:left;" src="../images/no-me-gusta.png" id="votonegativo" onclick="javascript:votar_negativo();" data-id="<? echo $row['id']; ?>" data-voto="negativo">
<span style="float:left;font-size:12px;color:#908E8E;" id="votarnegativo">&nbsp;<? echo $row['no_me_gusta']; ?></span>

De esta manera me funciona perfectamente si solo hay un comentario,

pero si hay varios comentarios me veo obligado a que id="votarpositivo" y id="votarnegativo" contengan un id diferente en cada comentario por lo que he intentado esto: id="votarpositivo(<? echo $row['id']; ?>)" y id="votaregativon(<? echo $row['id']; ?>)" y en el javascript: $("#votarpositivo(id)").html(data); y $("#votarnegativo(id)").html(data);

al hacer esto deja de funcionar... no se formula el voto ni nada de nada, el script no llama a votar.php ni da ningún error en la consola del navegador..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas

Problema con javascript

Publicado por Vainas (239 intervenciones) el 21/03/2016 08:20:22
Buenas:

Los id's no se pueden repetir asi que tendras que hacer algo asi:

1
2
<img id="votopositivo<? echo $row['id']; ?>" onclick="javascript:votar_positivo();" data-id="<? echo $row['id']; ?>" data-voto="positivo">
 <spanid="votarpositivo<? echo $row['id']; ?>" >

esto pone en id votarpositivo1 ,votarpositivo2, etc... lo mismo para data-id

en JS queda asi:

1
$("#votarnegativo"+id).html(data);

Espero que sea lo que necesitas.

Saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con javascript

Publicado por Jordi (9 intervenciones) el 23/03/2016 10:57:51
Hola Vainas, gracias por la ayuda, he probado como me comentas y sigue sin funcionar, en la consola del navegador me sale este error al votar:

Uncaught TypeError: Cannot read property 'dataset' of null
index.php?pe=opiniones-productos&opinion=3-&categoria=informatica_datos-&id-categoria=3-:504 Uncaught TypeError: Cannot read property 'dataset' of nullvotar_positivo @ index.php?pe=opiniones-productos&opinion=3-&categoria=informatica_datos-&id-categoria=3-:504onclick @ index.php?pe=opiniones-productos&opinion=3-&categoria=informatica_datos-&id-categoria=3-:439

Lo tengo así:

1
2
3
4
5
<img style="float:left;" src="../images/me-gusta.png" id="votopositivo<? echo $row['id']; ?>" onclick="javascript:votar_positivo();" data-id="<? echo $row['id']; ?>" data-voto="positivo">
 <span style="float:left;font-size:12px;color:#908E8E;" id="votarpositivo<? echo $row['id']; ?>">&nbsp;<? echo $row['me_gusta']; ?></span>
 
<img style="float:left;" src="../images/no-me-gusta.png" id="votonegativo<? echo $row['id']; ?>" onclick="javascript:votar_negativo();" data-id="<? echo $row['id']; ?>" data-voto="negativo">
<span style="float:left;font-size:12px;color:#908E8E;" id="votarnegativo<? echo $row['id']; ?>">&nbsp;<? echo $row['no_me_gusta']; ?></span>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<script language="javascript">
function votar_positivo(){
    var variable_post="<? echo $categoria_opiniones; ?>";
    var id = document.getElementById('votopositivo'+id).dataset.id;
    var voto = document.getElementById('votopositivo'+id).dataset.voto;
 
    $.post("../includes/votar.php", { variable: variable_post, 'id':id, 'voto':voto }, function(data){
    $("#votarpositivo"+id).html(data);
    });
}
function votar_negativo(){
    var variable_post="<? echo $categoria_opiniones; ?>";
    var id = document.getElementById('votonegativo'+id).dataset.id;
    var voto = document.getElementById('votonegativo'+id).dataset.voto;
 
    $.post("../includes/votar.php", { variable: variable_post, 'id':id, 'voto':voto }, function(data){
    $("#votarnegativo"+id).html(data);
    });
}
</script>

la linea del error es esta:

1
var id = document.getElementById('votopositivo'+id).dataset.id;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar