Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] como leer un id dentro de una cadena de texto

Estas en el tema de como leer un id dentro de una cadena de texto en el foro de Javascript en Foros del Web. Hola Disculpen la molestia tengo un peque inconveniente la presente es para preguntar si alguien sabe como leer un id dentro de una cadena y ...
  #1 (permalink)  
Antiguo 23/03/2016, 11:13
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 4 meses
Puntos: 1
como leer un id dentro de una cadena de texto

Hola Disculpen la molestia tengo un peque inconveniente la presente es para preguntar si alguien sabe como leer un id dentro de una cadena y hacer una alerta de el
yo estoy enviando por php unos datos y lo mestro en una tabla por medio de un echo
pero quisiera hacer una condicion del id de unos de ellos muestro codigo
Código PHP:
<?php
include_once'../Conection.php';

$dato $_POST['dato'];

//EJECUTAMOS LA CONSULTA DE BUSQUEDA
$query="SELECT * FROM solicitud WHERE idNomina LIKE '%$dato%' OR NombreSolicitante LIKE '%$dato%' ORDER BY idNomina ASC";
$registro mysqli_query($conexion,$query);
$num_results mysqli_num_rows($registro) or die(mysqli_error($conexion)); 

//CREAMOS NUESTRA VISTA Y LA DEVOLVEMOS AL AJAX

echo '<table class="table table-striped table-condensed table-hover">
            <tr>
                <th width="300">Numero de Solicitud</th>
                <th width="200">NombreSolicitante</th>
                <th width="150">Fecha Solicitudes</th>
                <th width="150">Observaciones</th>
                <th width="50"> Tipo de Solicitudes</th>
                <th width="50"> Seleccionar</th>
                <th width="50"> Enviar Archivo </th>
        <th width="50">Opciones</th>
            </tr>'
;
if(
$num_results>0){
    while(
$registro2 mysqli_fetch_array($registro)){
        echo 
'<tr>
                <td>'
.$registro2['idNomina'].'</td>
                <td>'
.$registro2['NombreSolicitante'].'</td>
                <td>'
.$registro2['FechaSolici'].'</td>
                <td>'
.$registro2['Observaciones'].'</td>
                <td>'
.$registro2['Tipo_Solicitud'].'</td>
                <td><a href="javascript:deseleccionar_todo('
.$registro2['idNomina'].');" class="glyphicon glyphicon-check" id="check" name="check"></a></td>
                <td><a href="#"><span class="glyphicon glyphicon-download-alt"></span></td>
                <td><a href="javascript:('
.$registro2['idNomina'].');"></a><a href="javascript:eliminarProducto('.$registro2['idNomina'].');" class="glyphicon glyphicon-remove-circle"></a></td>
                </tr>'
;
            
    }
}else{
    echo 
'<tr>
                <td colspan="6">No se encontraron resultados</td>
            </tr>'
;
}
echo 
'</table>';
?>
quisiera hacer una alerta del id check pero no me da me dice que no existe
  #2 (permalink)  
Antiguo 25/03/2016, 10:51
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: como leer un id dentro de una cadena de texto

¿Qué acción debe desencadenar la muestra de ese dato en un mensaje de alerta?
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 28/03/2016, 06:32
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 4 meses
Puntos: 1
Respuesta: como leer un id dentro de una cadena de texto

si una alerta
  #4 (permalink)  
Antiguo 28/03/2016, 09:49
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: como leer un id dentro de una cadena de texto

No me entendiste. Te pregunté por la acción o evento que debe ocurrir para que se muestre dicho mensaje de alerta. Con JavaScript puedes interactuar con los eventos del DOM, de manera que la ejecución de alguno de ellos tendría que ser el responsable de dicho resultado.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 28/03/2016, 11:02
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 4 meses
Puntos: 1
Respuesta: como leer un id dentro de una cadena de texto

pues vera la idea que cuando envié un archivo el cambie de estado o color todavía no se bien cual me sea mas fácil para el dinamismo y quiero que el id="check" sea selecionado como visto el cambie de pendiente a visto pero no se como recoger ese id la verdad de jquery se muy poco pero para esto php no me sirve
  #6 (permalink)  
Antiguo 28/03/2016, 13:32
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: como leer un id dentro de una cadena de texto

Para tomar a un elemento por su id, puedes usar los métodos .getElementById() o .querySelector():
Código Javascript:
Ver original
  1. //Método .getElementById()
  2. var elemento = document.getElementById("id");
  3.  
  4. //Método .querySelector()
  5. var elemento = document.querySelector("#id");

Una vez tomado el elemento, puedes acceder a sus propiedades mediante la notación por puntos o por corchetes, siendo la primera la que se aconseja usar:
Código Javascript:
Ver original
  1. elemento.propiedad = valor;

Por ejemplo, para cambiar el color de fondo de un elemento, necesitarás acceder a la propiedad style y luego a background o backgroundColor:
Código Javascript:
Ver original
  1. //Propiedad background
  2. elemento.style.background = "#f5a8c2";
  3.  
  4. //Propiedad backgroundColor
  5. elemento.style.backgroundColor = "#f5a8c2";

Siendo la primera de ellas un atajo para propiedades como backgroundImage, backgroundAttachment, backgroundSize, entre otras.

Veo que mencionas que realizarás el envío de un archivo. Supongo que te refieres a la acción que generará el pulsar alguno de los enlaces o quizá tengas un formulario que no estás mostrando. Sea cualquiera de ambos casos, si lo que deseas es que al volver a acceder a esa página se muestren los elementos con otros colores según su estado, tendrás que guardar dichos valores en una base de datos y cargarlos en la siguiente ejecución del archivo, tal y como lo haces con los valores de las celdas de la tabla.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 28/03/2016, 15:14
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 4 meses
Puntos: 1
Respuesta: como leer un id dentro de una cadena de texto

si exacto eso quiero pues mi idea en si es que cuando la persona vea por ejemplo como un gmail que revisa ve el mensaje y cuando lo vez mandas una respuesta con la diferencia que aca solo se vera y envio un archivo y que cuando esto envie la fila seleccionada quede como vista
por lo menos en el codigo tengo un href que quiero meter el ajax donde recojo de php los archivos y los guardos en mysql pero quiero que por apenas esto se haga el cambie de estado o color
por lo menos tengo esto
Código:
function seleccionar_todo(){ 
	 for (i=0;i<document.check.elements.length;i++) 
      if(document.check.elements[i].type == 'checkbox'){	
         document.check.elements[i].checked=true;
     }};
pero me sale que el id check no esta definido

Última edición por cartau07; 28/03/2016 a las 15:26
  #8 (permalink)  
Antiguo 29/03/2016, 01:29
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: como leer un id dentro de una cadena de texto

Lo que no está definida es la propiedad check del objeto document. El código está mal elaborado. Si deseas recorrer a un determinado conjunto de elementos, primero tendrás que tomarlos con algún método selector, o en el caso de que tengas un formulario, mediante la sintaxis document.nombreDelFormulario.elements o document.forms[número de formulario, empezando desde cero].elements. También es necesario que sepas que los id no deben repetirse puesto que se trata de un valor único.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #9 (permalink)  
Antiguo 29/03/2016, 06:36
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 4 meses
Puntos: 1
Respuesta: como leer un id dentro de una cadena de texto

pero si vez en el primer código yo traigo los datos desde la base de dato y dentro de el hago los check entonces tu idea es que aparte haga un check osea hacerlo por html para poder recorrerlo y la verdad quiero saber si se puede coger un elemento del echo y hacer un jq con el id pero creo que no es posible gracias de todos modo :(
  #10 (permalink)  
Antiguo 29/03/2016, 10:15
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: como leer un id dentro de una cadena de texto

En tu código veo que creas filas con celdas y algunos enlaces, pero ningún checkbox. Creo que estás confundiendo el asignar a la palabra "check" como id con los elementos <input type="checkbox" />, que son los que sí puedes marcar, como lo intentas en tu bloque de código JavaScript; además, al crear de esa forma a todos los elementos, estás repitiendo el mismo id, lo cual no debe suceder por lo que ya te expliqué en mi anterior respuesta.

A pesar de eso, todavía hay solución al problema, pero te recomendaría replantear la manera en la que estructuras tu código. Si nos explicas claramente qué es lo que pretendes hacer, te podremos ayudar.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #11 (permalink)  
Antiguo 29/03/2016, 14:17
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 4 meses
Puntos: 1
Respuesta: como leer un id dentro de una cadena de texto

eso no lo habia visto y tenes toda la razón apenas tenga si me da aviso y Gracias no me habia percatado que solo estaba usando una clase mas no definiendo el check

Última edición por cartau07; 29/03/2016 a las 14:41
  #12 (permalink)  
Antiguo 30/03/2016, 06:53
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 4 meses
Puntos: 1
Respuesta: como leer un id dentro de una cadena de texto

Hola ya lo intente y no me da lo hice con un input check dentro de echo de php
pero no me sale
vea js
Código:
<?php
include_once'../Conection.php';

$dato = $_POST['dato'];

//EJECUTAMOS LA CONSULTA DE BUSQUEDA
$query="SELECT * FROM solicitud WHERE idNomina LIKE '%$dato%' OR NombreSolicitante LIKE '%$dato%' ORDER BY idNomina ASC";
$registro = mysqli_query($conexion,$query);
$num_results = mysqli_num_rows($registro) or die(mysqli_error($conexion)); 

//CREAMOS NUESTRA VISTA Y LA DEVOLVEMOS AL AJAX

echo '<table class="table table-striped table-condensed table-hover">
        	<tr>
            	<th width="300">Numero de Solicitud</th>
                <th width="200">NombreSolicitante</th>
                <th width="150">Fecha Solicitudes</th>
                <th width="150">Observaciones</th>
                <th width="50"> Tipo de Solicitudes</th>
                <th width="50"> Seleccionar</th>
                <th width="50"> Enviar Archivo </th>
				<th width="50">Opciones</th>
            </tr>';
if($num_results>0){
	while($registro2 = mysqli_fetch_array($registro)){
		echo '<tr>
				<td>'.$registro2['idNomina'].'</td>
				<td>'.$registro2['NombreSolicitante'].'</td>
				<td>'.$registro2['FechaSolici'].'</td>
				<td>'.$registro2['Observaciones'].'</td>
				<td>'.$registro2['Tipo_Solicitud'].'</td>
				<td id="fila"><a href="javascript:(estado_check())"><input type="checkbox" id="check" onclick="estado_check(this) name="check"></a></td>
				<td><a href="#"><span class="glyphicon glyphicon-upload"></span></td>
				<td><a href="javascript:('.$registro2['idNomina'].');"></a><a href="javascript:eliminarProducto('.$registro2['idNomina'].');" class="glyphicon glyphicon-remove-circle"></a></td>
				</tr>';
			
	}
}else{
	echo '<tr>
				<td colspan="6">No se encontraron resultados</td>
			</tr>';
}
echo '</table>';
?>
  #13 (permalink)  
Antiguo 30/03/2016, 09:58
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: como leer un id dentro de una cadena de texto

Sigo viendo errores. No tiene sentido que insertes el checkbox en el enlace; además, sigues asignando el mismo id a todos los checkbox que generas en el bucle. Cuando se invoca una función de JavaScript, el nombre no tiene por qué ir entre paréntesis.

Cuando el usuario pulse el checkbox o el enlace, ¿qué esperas que suceda?
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #14 (permalink)  
Antiguo 30/03/2016, 15:46
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 4 meses
Puntos: 1
Respuesta: como leer un id dentro de una cadena de texto

Ok entiendo pero yo necesito es el checbox que trabaje dentro de el echo por eso mi pregunta hice input pero el id check aun sale con el mismo error y si lo quite ya lo tengo
javascript:estado_check();"
Código:
function estado_check(){
if(check[fila]!=true)
{
	document.getElementById("fila"+fila).style.background='#3399FF';
	document.getElementById("fila"+fila).style.color='#FFFFFF';
	seleccionado[fila]=true;
}
else
{
	document.getElementById("fila"+fila).style.background='#66CCFF';
	document.getElementById("fila"+fila).style.color='#000000';
	seleccionado[fila]=false;
 }	
}
  #15 (permalink)  
Antiguo 30/03/2016, 15:50
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 4 meses
Puntos: 1
Respuesta: como leer un id dentro de una cadena de texto

y es que mi tabla viene los datos desde mysql
  #16 (permalink)  
Antiguo 30/03/2016, 16:16
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: como leer un id dentro de una cadena de texto

En la llamada a la función, envía la palabra reservada this:
Código HTML:
Ver original
  1. <input type="checkbox" onclick="estado_check(this)" />

Y en la función, recíbela y trabaja con el checkbox directamente, pudiendo así tomar a la celda y fila que la contiene mediante la propiedad parentNode:
Código Javascript:
Ver original
  1. function estado_check(checkbox){
  2.     var celda = checkbox.parentNode, fila = celda.parentNode; //También es válida la forma: fila = checkbox.parentNode.parentNode
  3.     if (checkbox.checked){
  4.         fila.style.backgroundColor = "#3399FF";
  5.         fila.style.color = "#FFFFFF";
  6.     }
  7.     else{
  8.         fila.style.backgroundColor = "#66CCFF";
  9.         fila.style.color = "#000000";
  10.     }
  11. }

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #17 (permalink)  
Antiguo 31/03/2016, 09:22
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 4 meses
Puntos: 1
Respuesta: como leer un id dentro de una cadena de texto

Ok entendi pero nada no me colorea y lo hice como vos cambie mi function y nada me sale TypeError: celda is undefined cuando doy f12
  #18 (permalink)  
Antiguo 31/03/2016, 09:36
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: como leer un id dentro de una cadena de texto

Imagino que ya no estarás usando el enlace en el que invocas a la función sin pasarle argumentos, ¿verdad?
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #19 (permalink)  
Antiguo 31/03/2016, 10:14
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 4 meses
Puntos: 1
Respuesta: como leer un id dentro de una cadena de texto

mira lo haago asi
Código:
function estado_check(checkbox){
    var celda = checkbox.parentNode, fila = celda.parentNode; //También es válida la forma: fila = checkbox.parentNode.parentNode
    if (checkbox.checked){
        fila.style.backgroundColor = "#3399FF";
        fila.style.color = "#FFFFFF";
    }
    else{
        fila.style.backgroundColor = "#66CCFF";
        fila.style.color = "#000000";
    }
}
y en el echo hago
<input type="checkbox" id="check" onclick="estado_check(this) name="check">

Última edición por cartau07; 31/03/2016 a las 11:11
  #20 (permalink)  
Antiguo 31/03/2016, 12:55
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: como leer un id dentro de una cadena de texto

¿Pero quitaste o no el enlace?

Para que se entienda mejor, está así:
Código HTML:
Ver original
  1. <td>
  2.     <a href="javascript:estado_check()">
  3.         <input type="checkbox" onclick="estado_check(this)" />
  4.     </a>
  5. </td>

O así:
Código HTML:
Ver original
  1. <td>
  2.     <input type="checkbox" onclick="estado_check(this)" />
  3. </td>



Además, estás olvidando las comillas del final en el onclick. Está así:
Código HTML:
Ver original
  1. <input type="checkbox" id="check" onclick="estado_check(this) name="check">

Y debe ser así:
Código HTML:
Ver original
  1. <input type="checkbox" onclick="estado_check(this)" />

Tienes que fijarte bien en lo que estás haciendo. Y te lo vuelvo a repetir; el id no debe repetirse, por lo que al asignarlo a cada checkbox que creas en el bucle, lo terminarás repitiendo. Evita hacerlo; además, en este caso, no es necesario.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #21 (permalink)  
Antiguo 31/03/2016, 13:14
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 4 meses
Puntos: 1
Respuesta: como leer un id dentro de una cadena de texto

si lo corregi entedi lo del enlace y no reperir el id para que si se ejecute pero nada muetro codigo
Código PHP:
<td id="fila"><input type="checkbox" id="check" onclick="estado_check(this)" name="check"></td
  #22 (permalink)  
Antiguo 31/03/2016, 13:28
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: como leer un id dentro de una cadena de texto

¿Obtienes algún mensaje de error en la consola?
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #23 (permalink)  
Antiguo 31/03/2016, 13:41
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 4 meses
Puntos: 1
Respuesta: como leer un id dentro de una cadena de texto

no me sale SyntaxError: missing ; before statement pero no es de el codigo que hice es comun siempre sale sobre <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
que aunque lo tenga en .php o html igual sigue saliendo ya me siento desesperada no se mas que hacer
  #24 (permalink)  
Antiguo 31/03/2016, 13:46
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: como leer un id dentro de una cadena de texto

Realiza alguna acción visible en la función para comprobar que se está ejecutando. Por ejemplo, puedes mostrar un mensaje de alerta con un mensaje cualquiera. Te aconsejaría mostrar en consola el contenido de la variable checkbox, así:
Código Javascript:
Ver original
  1. console.log(checkbox);
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #25 (permalink)  
Antiguo 31/03/2016, 14:04
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 4 meses
Puntos: 1
Respuesta: como leer un id dentro de una cadena de texto

No ya me Dio jajaja solo que no había quitado la </a> que cierra la que estaba de mas muchas gracias pero si ademas de eso quiero agregar un texto que se guarde en la base de dato me entro esa inquietud voy investiga y gracias nuevamente por tu ayuda :)

Última edición por cartau07; 31/03/2016 a las 15:15

Etiquetas: ajax, cadena, php
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 19:12.