Foros del Web » Programando para Internet » Javascript »

Funcion alert

Estas en el tema de Funcion alert en el foro de Javascript en Foros del Web. Tengo un pequeño problema que no se como resolver: Tengo una tabla que se crea dinámicamente. Lo que muestra es una serie de noticias que ...
  #1 (permalink)  
Antiguo 19/08/2009, 18:22
 
Fecha de Ingreso: julio-2009
Mensajes: 30
Antigüedad: 15 años, 4 meses
Puntos: 0
Funcion alert

Tengo un pequeño problema que no se como resolver:

Tengo una tabla que se crea dinámicamente. Lo que muestra es una serie de noticias que tengo en una base de datos.

Pero como las noticias son largas y no se ven bien en la tabla, he decidido poner un botón para que, al pulsarlo, se muestre una ventana con la función alert() en javascript, pasandole por parámetro la cadena de texto que quiero mostrar.

La funcion es esta:
Código:
<script language="javaScript" type="text/javascript">
    function abrir(numero)
    {
        var x = document.getElementById("sms" + numero);
        alert(x);
    }
</script>
El problema es que, conforme lo tengo, no entra a la función del Script.
Código que NO ME funciona y quiero que funcione:
Código:
...
int i = 1;
//Ciclo de lectura del resultset
while(rs.next())
{
     solucion = solucion  + "<TR>";
     solucion = solucion  + "<TD width=\"20%\"><i><input type=\"button\" style=\"font-size:small\" name=\"sms" + i + "\" value=\"SMS\" onclick =\"abrir(" + rs.getString("Mensaje") + ");\"/></i></TD>";
solucion = solucion  + "</TR>";
i++;
}
...
En cambio, si pongo que le paso por parametro la "i" si que funciona:
Código que funciona:
Código:
...
int i = 1;
//Ciclo de lectura del resultset
while(rs.next())
{
     solucion = solucion  + "<TR>";
     solucion = solucion  + "<TD width=\"20%\"><i><input type=\"button\" style=\"font-size:small\" name=\"sms" + i + "\" value=\"SMS\" onclick =\"abrir(" + i+ ");\"/></i></TD>";
solucion = solucion  + "</TR>";
i++;
}
...
Previamente hago una consutla de la base de datos donde aparece el campo Mensaje, pero no entiendo porque si le paso "i" si que entra y si en cambio, si le paso una cadena de texto (el mensaje) no entra.

Gracias!
  #2 (permalink)  
Antiguo 19/08/2009, 18:46
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Funcion alert

No entiendo lo que tratas de hacer, ya que en tu función abrir() el parámetro que esperas recibir es el número para obtener el mensaje de un elemento; no sé para qué quieres pasarle una cadena.

Si de todos modos quieres pasar una cadena, debe ir entre comillas:
Código Javascript:
Ver original
  1. abrir('cadena');
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 19/08/2009, 20:27
Avatar de goyo_  
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Funcion alert

Para facilitar la lectura de esta basura, de modo que ayudaremos mejor al muchacho, limpie un poco su codigo:

Código:
<script type="text/javascript">
function abrir(numero) {
	alert(document.getElementById('sms' + numero));
}

int i = 1;
while(rs.next()) {
     solucion += '<tr>' +
                 '<td width="20%">' +
		 '<input type="button" name="sms' + i++ + '" value="SMS" onclick ="abrir(" + rs.getString("Mensaje") + ");"/></td>' +
                 '</tr>';
}
</script>
Por cierto el alert contenido en la funcion abrir alertara un elemento, no un valor.
  #4 (permalink)  
Antiguo 20/08/2009, 05:42
 
Fecha de Ingreso: julio-2009
Mensajes: 30
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Funcion alert

Ya esta! Gracias! Me faltaban las comillas simples!!
  #5 (permalink)  
Antiguo 20/08/2009, 10:15
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Funcion alert

Claro. Comillas dobles (") para los strings normales y comillas simples (') dentro de comillas dobles para que hagan la funcion de comillas dobles cuanto se inserte el codigo. Normalmente para poner el contenido de un atributo, como id, class, border, width, etc.

Por ejemplo:

Código javascript:
Ver original
  1. var contenido = "<table>" +
  2.                     "<tr>" +
  3.                         "<td id='id_0'></td>" +
  4.                         "<td id='id_1'></td>" +
  5.                     "</tr>" +
  6.                 "</table>"
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 18:30.