Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/11/2012, 07:13
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Problema con modificar un value

Cita:
Iniciado por KhanS Ver Mensaje
Hola a todos, tengo un problema modificando un value.

Código HTML:
 <input type="hidden" id="cant_campos" name="cant_campos" value="0" /> 
He probado de mil maneras, se me esta pasando algo por alto y no se que puede ser.

Las formas que he intentado son.

Código HTML:
document.getElementById('cant_campos').value = 4;

document.getElementById('cant_campos').setAttribute("value", 4);

var d = document.getElementById('cant_campos');

d.setAttribute("value", 4);
No se que mas probar, porfavor ayudenme.

Gracias de antemano.
Compañero @KhanS
Si quieres que te ayudemos, tu también debes hacerlo,
Estás tratando de modificar el valor de un input, ahora,
y tu html completo? ¿dónde está?,
Estas realizando el cambio desde una función?,
Ese cambio debe realizarse automaticamente?,
Como y dónde estás declarando tu script?

Vamos a jugar con las posibilidades

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript">
  7. //<![CDATA[
  8. function verifica(){
  9. alert(document.getElementById('cant_campos').value);
  10. }
  11. function asignar_valor(){
  12. document.getElementById('cant_campos').value = 4;
  13. }
  14. //]]>
  15. </head>
  16. <form action="#">
  17. <input type="hidden" id="cant_campos" name="cant_campos" value="0" />
  18. </form>
  19. <button onclick="asignar_valor();">Asignar valor 4</button>
  20. <button onclick="verifica();">Verificar</button>
  21. </body>
  22. </html>

En este primer ejemplo estás llamando a la función que modifica desde un boton, verificá antes y después

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript">
  7. //<![CDATA[
  8. function asignar_valor(){
  9. document.getElementById('cant_campos').value = 4;
  10. }
  11. function verifica(){
  12. alert(document.getElementById('cant_campos').value);
  13. }
  14. window.onload = asignar_valor;
  15. //]]>
  16. </head>
  17. <form action="#">
  18. <input type="hidden" id="cant_campos" name="cant_campos" value="0" />
  19. </form>
  20. <button onclick="verifica();">Verificar</button>
  21. </body>
  22. </html>

En este segundo ejemplo estás llamando la función en con onload, es decir que no se ejecutará hasta la lectura completa del DOM, con lo que conseguirás que el elemento input pueda ser correctamente identificado por su id


Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. </head>
  7. <form action="#">
  8. <input type="hidden" id="cant_campos" name="cant_campos" value="0" />
  9. </form>
  10. <button onclick="verifica();">Verificar</button>
  11. <script type="text/javascript">
  12. //<![CDATA[
  13. function verifica(){
  14. alert(document.getElementById('cant_campos').value);
  15. }
  16. document.getElementById('cant_campos').value = 4;
  17. //]]>
  18. </body>
  19. </html>

finalmente, en este caso estás realizando la modificación sin llamar a una función, pero como ves es necesario ejecutar la script posteriormente a que el elemento input haya sido leído por el navegador, es decir, la script se ubica justo antes del cierre del body.

este último caso nos sirve para indicarle a @albuss, que su afirmación NO es correcta, una script No tiene porque ser declarada antes del body.
Sería bueno saber el porque de la valoración negativa a @angel1993, cuyo ejemplo es correcto.

Te señalo @KhanS que estas son cuestiones elementales de javascript, y no deberían ser aprendidas posteando en un foro sino "leyendo los manuales".
Para la próxima por favor, se más preciso en tus enunciados

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Última edición por emprear; 22/11/2012 a las 08:16