Cita:
Iniciado por KhanS
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<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript"> //<![CDATA[
function verifica(){
alert(document.getElementById('cant_campos').value);
}
function asignar_valor(){
document.getElementById('cant_campos').value = 4;
}
//]]>
<input type="hidden" id="cant_campos" name="cant_campos" value="0" />
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<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript"> //<![CDATA[
function asignar_valor(){
document.getElementById('cant_campos').value = 4;
}
function verifica(){
alert(document.getElementById('cant_campos').value);
}
window.onload = asignar_valor;
//]]>
<input type="hidden" id="cant_campos" name="cant_campos" value="0" />
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<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <input type="hidden" id="cant_campos" name="cant_campos" value="0" /> <script type="text/javascript"> //<![CDATA[
function verifica(){
alert(document.getElementById('cant_campos').value);
}
document.getElementById('cant_campos').value = 4;
//]]>
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