Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Uncaught ReferenceError: is not defined

Estas en el tema de Uncaught ReferenceError: is not defined en el foro de Jquery en Foros del Web. Hola buenos días, pues hoy andaba haciendo un "Sistema de Tag" para los usuarios de mi comunidad. Actualmente tengo echo esto funciona perfecto pero quiero ...
  #1 (permalink)  
Antiguo 05/03/2015, 11:28
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 3 meses
Puntos: 4
Uncaught ReferenceError: is not defined

Hola buenos días, pues hoy andaba haciendo un "Sistema de Tag" para los usuarios de mi comunidad. Actualmente tengo echo esto funciona perfecto pero quiero recibir el valor del input para poder hacer las consultas necesarias para borrar dicho tag.



Código Javascript:
Ver original
  1. $('#search-field').keypress(function(event) {
  2.                 if (event.which == '13') {
  3.                     if ($(this).val() != '') {
  4.                         $('<li class="addedTag">' + $(this).val() + '<span class="tagRemove" onclick="$(this).parent().remove().borrar(' + $(this).val() +');">x</span><input type="hidden" value="' + $(this).val() + '" name="tags[]"></li>').insertBefore('.tags .tagAdd');
  5.                         $(this).val('');
  6.                         console.log('add tag');
  7.                     }
  8.                 }
  9.             });
  10. function borrar(tag) {
  11.    var tag = $(this).val();
  12.     alert(tag);
  13.   }
Código HTML:
Ver original
  1. <ul class="tags">
  2.            
  3.                         <li class="tagAdd taglist">  
  4.                              <input type="text" id="search-field" placeholder="Añadir tags">
  5.                         </li>
  6.     </ul>

Espero que me puedan echar una mano, Gracias de antemano.
  #2 (permalink)  
Antiguo 06/03/2015, 07:56
(Desactivado)
 
Fecha de Ingreso: abril-2013
Ubicación: rosario
Mensajes: 248
Antigüedad: 11 años
Puntos: 17
Respuesta: Uncaught ReferenceError: is not defined

Primero, en la funcion borrar vos estas utilizando el puntero $(this) , pero este ya esta fuera del scope, por lo tanto no existe mas.
Segundo, en la funcion borrar podras utilizar el parametro tag.
Ahora mi consulta es vos necesitas el valor del span o li o del input ?, porque el input en ese momento esta vacio.
  #3 (permalink)  
Antiguo 06/03/2015, 08:39
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 3 meses
Puntos: 4
Respuesta: Uncaught ReferenceError: is not defined

Cita:
Iniciado por diurno10 Ver Mensaje
Primero, en la funcion borrar vos estas utilizando el puntero $(this) , pero este ya esta fuera del scope, por lo tanto no existe mas.
Segundo, en la funcion borrar podras utilizar el parametro tag.
Ahora mi consulta es vos necesitas el valor del span o li o del input ?, porque el input en ese momento esta vacio.
Hola.

Necesito el valor del input. el span es la X para eliminar ese tag no se si me explico.
  #4 (permalink)  
Antiguo 06/03/2015, 09:26
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 3 meses
Puntos: 4
Respuesta: Uncaught ReferenceError: is not defined

Acabo de modificar lo siguiente. pero me da el siguiente error Uncaught SyntaxError: Unexpected string

Código Javascript:
Ver original
  1. $('<li class="addedTag">' + $(this).val() + '<span class="tagRemove" onclick="$(this).parent().remove().borrar(#tag-'+$(this).val()');>x</span><input type=hidden" value="' + $(this).val() + '" id="tag-'+ $(this).val() + '" name="tags[]"></li>').insertBefore('.tags .tagAdd');
  #5 (permalink)  
Antiguo 06/03/2015, 09:35
(Desactivado)
 
Fecha de Ingreso: abril-2013
Ubicación: rosario
Mensajes: 248
Antigüedad: 11 años
Puntos: 17
Respuesta: Uncaught ReferenceError: is not defined

La verdad no se para que necesitas al valor del input search, pero en fin yo haria esto:
  #6 (permalink)  
Antiguo 06/03/2015, 09:42
(Desactivado)
 
Fecha de Ingreso: abril-2013
Ubicación: rosario
Mensajes: 248
Antigüedad: 11 años
Puntos: 17
Respuesta: Uncaught ReferenceError: is not defined

function borrar(tag) {
//console.log(tag.parent().text());
var v_search = $('search-field').val();
$(tag).parent().remove();
}


$('#search-field').keypress(function(event) {
if (event.which == '13') {
if ($(this).val() != '') {
$('<li class="addedTag">' + $(this).val() + '<span class="tagRemove" onclick="return borrar($(this))">x</span><input type="hidden" value="' + $(this).val() + '" name="tags[]"></li>').insertBefore('.tags .tagAdd');
$(this).val('');

}
}
});
  #7 (permalink)  
Antiguo 06/03/2015, 10:05
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 3 meses
Puntos: 4
Respuesta: Uncaught ReferenceError: is not defined

El valor lo necesito puesto a que hare una consulta para borrar ese tag de ese usuario, dentro de la función borrar

Código Javascript:
Ver original
  1. $.ajax({
  2.                 type: "POST",
  3.                 data: "tag="+v_search,
  4.                 url: "procesos/remove_tag.php",
  5.             });

pero el valor v_search me lo da como undefined
  #8 (permalink)  
Antiguo 06/03/2015, 10:19
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 3 meses
Puntos: 4
Respuesta: Uncaught ReferenceError: is not defined

Ya esta solucionado. Gracias diurno10 por su colaboración :)
  #9 (permalink)  
Antiguo 06/03/2015, 10:21
(Desactivado)
 
Fecha de Ingreso: abril-2013
Ubicación: rosario
Mensajes: 248
Antigüedad: 11 años
Puntos: 17
Respuesta: Uncaught ReferenceError: is not defined

esta bien, te da undifined porque vos en la function borrar le estas pasando el puntero $(this), si le haces un console.log en la function vas a ver que es el span y no el input.
Por lo tanto cuando le pedis el attribute val, te dice q es undifined xq el padre del span es un li y dispone de ese attribute.
En fin, si necesitas hacer eso no hace falta ni que llames a la funcion, podes hacer todo como esta menos esto
onclick="return borrar($(this))"
luego lo que podes hacer es:
$('span.tagRemove').on("click",function(){
var v_search = $(this).parent().text();
$.ajax({
type: "POST",
data: "tag="+v_search,
url: "procesos/remove_tag.php",
});
});

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:43.