Foros del Web » Programando para Internet » Javascript »

Tabla de nota y no recorre

Estas en el tema de Tabla de nota y no recorre en el foro de Javascript en Foros del Web. Buenas tarde Espero que me puedan ayudar tengo un tabla de datos en donde aparecen los datos del alumnos tengo un input en donde agrego ...
  #1 (permalink)  
Antiguo 20/07/2010, 15:44
 
Fecha de Ingreso: julio-2010
Mensajes: 9
Antigüedad: 13 años, 9 meses
Puntos: 0
Tabla de nota y no recorre

Buenas tarde

Espero que me puedan ayudar tengo un tabla de datos en donde aparecen los datos del alumnos tengo un input en donde agrego la nota y una columna sitacion en donde aparece el Aprobado y Reprobados pero no lo hace y solo lo cambia en la primera posicion.
Nose que hacer he hecho de todo pero no funciona y lo unico que quiero la nota que escriba me aparezca un mensaje indicando estado,. Gracias y ayudenme gracias
alejandra
adjunto codigo
este el HTML mas abajo esta el js
<html>
<head>
<script type="text/javascript" src="jss.js"></script>


</head>
<body>
<form name="EvAlu">
<input type="texto" id="nota" value="4">
<input type="texto" id="asis" value="0">
<table width="96%" border="1" align="center" id="table">
<tr class="titulo_tabla">
<td width="2%">Nº</td>
<td width="15%">RUT</td>
<td width="*%">Nombre</td>
<td width="10%">Nota</td>
<td width="10%">Situación</td>
</tr>
<tr>
<td align="right">1</td>
<td align="right" >12811148-4</td>
<td> CRISTI MUÑOZ HELENE</td>
<td><input type="text" size="3" maxlength="3" name="N12811148" value="0" onBlur="rango(this)"></td>
<td>
<select name="nota12811148" id="no" >
<option selected value="1">Cursando</option>
<option value="2">Aprobado</option>
<option value="3">Reprobado</option>
<option value="7">Desertor</option>
<option value="8">Desertor Justificado</option>
</select>
</td>
</tr>
<tr>
<td align="right">2</td>
<td align="right" >13087423-1</td>
<td>PINO SALAZAR ANA LISSETTE</td>
<td><input type="text" size="3" maxlength="3" name="N13087423" value="0" onBlur="rango(this)" ></td>
<td>
<select name="nota13087423" id="no" >
<option selected value="1">Cursando</option>
<option value="2">Aprobado</option>
<option value="3">Reprobado</option>
<option value="7">Desertor</option>
<option value="8">Desertor Justificado</option>
</select>
</td>
</tr>
<tr>
<td align="right">3</td>
<td align="right" >3038395-8
</td>
<td>ABARCA ESCOBAR JUAN</td>
<td><input type="text" size="3" maxlength="3" name="N3038395" value="0" onBlur="rango(this)" ></td>
<td>
<select name="nota3038395" id="no" >
<option selected value="1">Cursando</option>
<option value="2">Aprobado</option>
<option value="3">Reprobado</option>
<option value="7">Desertor</option>
<option value="8">Desertor Justificado</option>
</select>
</td>
</tr>
<tr>
<td align="right">4</td>
<td align="right" >14132397-0</td>
<td>ABELLEIRA PERALTA MILLARAI</td>
<td><input type="text" size="3" maxlength="3" name="N14132397" value="0" onBlur="rango(this)" ></td>
<td>
<select name="nota14132397" id="no" >
<option selected value="1">Cursando</option>
<option value="2">Aprobado</option>
<option value="3">Reprobado</option>
<option value="7">Desertor</option>
<option value="8">Desertor Justificado</option>
</select>
</td>
</tr>
</table>
</form>
</body>
</html>

js
function rango(id)
{
valor=parseInt(id.value,10);


notaini=window.document.EvAlu.nota.value


cantFilas = document.getElementById("table").rows.length;
for(i=0;i<cantFilas;i++)
{

var x=document.getElementById('table').rows[i].cells

if ((notaini<=valor))
{
id.style.background="cyan";
id.style.color="blue";
var o = document.createElement('input');
o.type = "text";
o.name = "lalala";
o.value = "Aprobados";
document.getElementById('no').appendChild(o);
document.getElementById('no').style.visibility = 'hidden';
// document.getElementById('no').selectedIndex[i] =1
// document.getElementById("no").length = 1;
//document.getElementById("no").options[0].value = "Aprobado";
//document.getElementById("no").options[0].text = "Aprobado";
return;
}
else
{
id.style.background="red";
id.style.color="blue";
document.getElementById('no').selectedIndex[i] =2
//document.getElementById("no").length = 1;
//document.getElementById("no").options[0].value = "Reprobado";
//document.getElementById("no").options[0].text = "Reprobado";
return;
}

}
id.style.background="white";
id.style.color="black";
return true;

}
  #2 (permalink)  
Antiguo 21/07/2010, 05:40
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Tabla de nota y no recorre

Vayamos por partes, como diría Jack el destripador. Lo primero es bienvenido al foro. Lo segundo, usa los highlight de código (cuando vas a postear, arriba a la derecha en un select) para que los códigos se vean mejor. Ahora vamos a mirar el código.
Código Javascript:
Ver original
  1. function rango(id){
  2.  valor=parseInt(id.value,10);
  3.  notaini=window.document.EvAlu.nota.value;
  4.  cantFilas = document.getElementById("table").rows.length;
  5.  for(i=0;i<cantFilas;i++){
  6.   var x=document.getElementById('table').rows[i].cells
  7.   //¿para qué declaras esta variable si no la usas?
  8.   if (notaini<=valor){
  9.    //¿por qué pones 2 paréntesis? Y si valor siempre va a ser 0, no puede mayor o igual a 4, ¿qué se supone que hay que escribir en el input?
  10.    id.style.background="#0FF";
  11.   //los colores siempre es mejor ponerlos en hexadecimal por si acaso
  12.    id.style.color="#00F";
  13.    var o = document.createElement('input');
  14.    o.type = "text";
  15.    o.name = "lalala";
  16.    o.value = "Aprobados";
  17.    //como hay 4 ó 5 elementos con id 'no', no sabe a cuál te refieres, y por eso no funciona
  18.    //y en teoría el name tiene que ser igual al id
  19.    document.getElementById('no').appendChild(o);
  20.    document.getElementById('no').style.visibility = 'hidden';
  21.    // document.getElementById('no').selectedIndex[i] =1
  22.    // document.getElementById("no").length = 1;
  23.    // document.getElementById("no").options[0].value = "Aprobado";
  24.    // document.getElementById("no").options[0].text = "Aprobado";
  25.    //¿por qué todo esto está en forma de comentario?
  26.    //¿y qué significa 'document.getElementById('no').selectedIndex[i] =1'?
  27.    //selectedIndex es una propiedad del objeto, ¿qué pintan ahí esos corchetes?
  28.    return;
  29.   }else{
  30.    id.style.background="#F00";
  31.    id.style.color="#00F";
  32.    document.getElementById('no').selectedIndex[i] =2;
  33.    // document.getElementById("no").length = 1;
  34.    // document.getElementById("no").options[0].value = "Reprobado";
  35.    // document.getElementById("no").options[0].text = "Reprobado";
  36.    return;
  37.   }
  38.  }
  39.  id.style.background="#FFF";
  40.  id.style.color="#000";
  41.  return true;
  42. }
Creo que con eso será suficiente, si sigues teniendo problemas lo dices.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 21/07/2010, 07:01
 
Fecha de Ingreso: julio-2010
Mensajes: 9
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Tabla de nota y no recorre

Muchas Gracias por Responder,

Estoy media confundida pensaba que manejaba el javascripts , pero todavia no me funciona bien con los cambio que me sugeriste , siempre lo hace en la primera posicion del campo Situacion cualquier nota que ingreso ahi lo refleja en esa posicion no al lado .

ahora este 'document.getElementById('no').selectedIndex[i] =1' 'no' es el nombre del combobox lo que hago lo fuerzo para que seleccione Aprobado de lo contrario 2 Reprobados.

He hecho varios cambios pero nada. Me puede ayudar
Saludos,
Alejandra
  #4 (permalink)  
Antiguo 21/07/2010, 14:07
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Tabla de nota y no recorre

Postea el código tal y como lo tienes ahora para que se vean los cambios que has hecho.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 22/07/2010, 13:54
 
Fecha de Ingreso: julio-2010
Mensajes: 9
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Tabla de nota y no recorre

hola , el codigo que esta arriba es el mismo con los cambios que me indicaste nada....por favor
  #6 (permalink)  
Antiguo 22/07/2010, 13:57
 
Fecha de Ingreso: julio-2010
Mensajes: 9
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Tabla de nota y no recorre

este el HTML
<html>
<head>
<script type="text/javascript" src="jss.js"></script>


</head>
<body>
<form name="EvAlu">
<input type="texto" id="nota" value="4">
<input type="texto" id="asis" value="0">
<table width="96%" border="1" align="center" id="table">
<tr class="titulo_tabla">
<td width="2%">Nº</td>
<td width="15%">RUT</td>
<td width="*%">Nombre</td>
<td width="10%">Nota</td>
<td width="10%">Situación</td>
</tr>
<tr>
<td align="right">1</td>
<td align="right" >12811148-4</td>
<td> CRISTI MUÑOZ HELENE</td>
<td><input type="text" size="3" maxlength="3" name="N12811148" id="nombreText" value="0" onBlur="rango(this)" ></td>
<td>
<select name="nota12811148" id="no" onclick="valorAlText(this);">
<option selected value="1">Cursando</option>
<option value="2">Aprobado</option>
<option value="3">Reprobado</option>
<option value="7">Desertor</option>
<option value="8">Desertor Justificado</option>
</select>
</td>
</tr>
<tr>
<td align="right">2</td>
<td align="right" >13087423-1</td>
<td>PINO SALAZAR ANA LISSETTE</td>
<td><input type="text" size="3" maxlength="3" name="N13087423" id="nombreText" value="0" onBlur="rango(this)" ></td>
<td>
<select name="nota13087423" id="no" onclick="valorAlText(this);">
<option selected value="1">Cursando</option>
<option value="2">Aprobado</option>
<option value="3">Reprobado</option>
<option value="7">Desertor</option>
<option value="8">Desertor Justificado</option>
</select>
</td>
</tr>
<tr>
<td align="right">3</td>
<td align="right" >3038395-8
</td>
<td>ABARCA ESCOBAR JUAN</td>
<td><input type="text" size="3" maxlength="3" name="N3038395" id="nombreText" value="0" onBlur="rango(this)" ></td>
<td>
<select name="nota3038395" id="no" onclick="valorAlText(this);">
<option selected value="1">Cursando</option>
<option value="2">Aprobado</option>
<option value="3">Reprobado</option>
<option value="7">Desertor</option>
<option value="8">Desertor Justificado</option>
</select>
</td>
</tr>
<tr>
<td align="right">4</td>
<td align="right" >14132397-0</td>
<td>ABELLEIRA PERALTA MILLARAI</td>
<td><input type="text" size="3" maxlength="3" name="N14132397" id="nombreText" value="0" onBlur="rango(this)" ></td>
<td>
<select name="nota14132397" id="no" onclick="valorAlText(this);" >
<option selected value="1">Cursando</option>
<option value="2">Aprobado</option>
<option value="3">Reprobado</option>
<option value="7">Desertor</option>
<option value="8">Desertor Justificado</option>
</select>
</td>
</tr>
</table>
</form>
</body>
</html>

este es el js modificado
function rango(id){
valor=parseInt(id.value,10);
notaini=window.document.EvAlu.nota.value;
cantFilas = document.getElementById("table").rows.length;
for(i=0;i<cantFilas;i++){
if (notaini<=valor){
id.style.background="#0FF";
id.style.color="#00F";
var o = document.createElement('input');
o.type = "text";
o.name = "lalala";
o.value = "Aprobados";
document.getElementById('no').appendChild(o);
document.getElementById('no').style.visibility = 'hidden';
return;
}else{
id.style.background="#F00";
id.style.color="#00F";
document.getElementById('no').selectedIndex[i] =2;
return;
}
}
id.style.background="#FFF";
id.style.color="#000";
return true;
}


function valorAlText(combo)
{
var text = document.getElementById('nombreText');
text.value = combo.options[combo.selectedIndex].value;
}
  #7 (permalink)  
Antiguo 22/07/2010, 13:58
 
Fecha de Ingreso: julio-2010
Mensajes: 9
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Tabla de nota y no recorre

no se como enfrentar este problema...gracias
  #8 (permalink)  
Antiguo 22/07/2010, 15:29
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Tabla de nota y no recorre

Seguimos en las mismas...
Cita:
<select name="nota12811148" id="no" onclick="valorAlText(this);">
[...]
<select name="nota13087423" id="no" onclick="valorAlText(this);">
[...]
<select name="nota3038395" id="no" onclick="valorAlText(this);">
[...]
<select name="nota14132397" id="no" onclick="valorAlText(this);">
----------------------
<input type="text" size="3" maxlength="3" name="N12811148" id="nombreText" value="0" onBlur="rango(this)" >
[...]
<input type="text" size="3" maxlength="3" name="N13087423" id="nombreText" value="0" onBlur="rango(this)" >
[...]
<input type="text" size="3" maxlength="3" name="N3038395" id="nombreText" value="0" onBlur="rango(this)" >
[...]
<input type="text" size="3" maxlength="3" name="N14132397" id="nombreText" value="0" onBlur="rango(this)" >
Los ids no se pueden repetir, porque si no al poner document.getElementById('no') o document.getElementById('nombreText') no sabe a cuál te refieres. Lo que puedes hacer es poner ids como no1, no2, no3... y usas una variable y haces document.getElementById('no'+variable) para coger ese elemento, y al final de la función pones variable++.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #9 (permalink)  
Antiguo 23/07/2010, 08:41
 
Fecha de Ingreso: julio-2010
Mensajes: 9
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Tabla de nota y no recorre

disculpa lo que pasa que mi tabla es dinamica en ese caso como lo hago..
gracias
alejandra
  #10 (permalink)  
Antiguo 23/07/2010, 08:54
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Tabla de nota y no recorre

¿Te refieres a que creas los select y los input dinámicamente? ¿Dónde está el código que los crea? Además da igual, la solución que te ofrezco es usar algo así:
Código Javascript:
Ver original
  1. var numero = 1;
  2. function crear(){
  3.  var sel = document.createElement('select');
  4.  sel.id = 'no'+numero;
  5.  var txt = document.crateElement('input');
  6.  txt.ype = 'text';
  7.  txt.id = 'nombreText'+numero
  8.  numero++
  9. }
Así tendrías ids del tipo no1, no2, no3... nombreText1, nombreText2, nombreText3...

Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #11 (permalink)  
Antiguo 23/07/2010, 09:11
 
Fecha de Ingreso: julio-2010
Mensajes: 9
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Tabla de nota y no recorre

claro lo toma de una tabla y lo llena y el input voy agregando las notas y obvio que debiera cambiarlo en el select pero no hace nada ,estoy nerviosa ya que necesito entregarlo ahora...
gracias por ayuda y comentarios...gracias

<td>
<input type="text" size="3" maxlength="3" name="N<%=TABLA2("CALU_RUT")%>" value="<%=nn%>" onBlur="rango(this,0,7)"></td>
<td>
<select name="nota<%=TABLA2("CALU_RUT")%>" id="no" >
<%
cadenaSQL="SELECT COD_CODIGO, COD_DESCRIPCION FROM HVID_CAP_CODIGOS WHERE COD_GRUPO=32 AND (COD_CODIGO<>0 and COD_CODIGO<>5)"
Set TABLA3=BDD.execute(cadenaSQL)
codigo2=CInt(TABLA2("CALU_EVALUACION"))

while not TABLA3.eof
codigo=CInt(TABLA3("COD_CODIGO"))
if (codigo=codigo2) then
cadena=" selected "
else
cadena=""
end if
%>
<option <%=cadena%> value="<%=TABLA3("COD_CODIGO")%>"><%=TABLA3("COD_D ESCRIPCION")%></option>
<%
TABLA3.movenext
wend
TABLA3.close
set TABLA3=Nothing

%>
</select>
</td>
  #12 (permalink)  
Antiguo 23/07/2010, 10:36
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Tabla de nota y no recorre

Pues puedes usar lo que te he dicho yo igual que lo estás haciendo para el name. Haces una variable en MySQL o ASP o lo que sea eso, que no tengo ni idea, y pones una variable o algo de tal manera que quede id=<%=loquesea%>.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #13 (permalink)  
Antiguo 23/07/2010, 14:46
 
Fecha de Ingreso: julio-2010
Mensajes: 9
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Tabla de nota y no recorre

sabes si no es mucha la molestia me pueden dar un ejemplo ,realmente estoy confundida..
por favor y gracias
alejandra
  #14 (permalink)  
Antiguo 26/07/2010, 15:22
 
Fecha de Ingreso: julio-2010
Mensajes: 9
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Tabla de nota y no recorre

hola cronos2

lo que me enviaste lo hice y funciona solo una consulta , como hago para que seleccione automatico hacer un selectedIndex .
gracias

Etiquetas: tablas
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 08:50.