JavaScript - Ocultar textbox de un formulario si un checked está activado

 
Vista:
sin imagen de perfil
Val: 11
Ha disminuido su posición en 13 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ocultar textbox de un formulario si un checked está activado

Publicado por josema (6 intervenciones) el 25/02/2018 21:26:29
Hola compañeros, estoy atascado. Tengo un formulario donde quiero que si el check llamado "factura" se marca entonces el campo textbox llamado "valor" se oculte y además se le asigne un valor concreto. No me sale.... Ayuda por favor!! Abajo pego el código.
Gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<html>
 
<head>
<title>Guardar datos en una base de datos</title>
<script>
 
function validarForm(formulario)
 {
  if(formulario.nombre.value.length==0) { //comprueba que no esté vacío
    formulario.nombre.focus();
    alert('No has puesto el NOMBRE DEL CLIENTE');
    return false; //devolvemos el foco
  }
  if(formulario.marca.value.length==0) { //comprueba que no esté vacío
    formulario.marca.focus();
    alert('No has puesto la MARCA DEL VEHICULO');
    return false;
  }
  if(formulario.matricula.value.length==0) { //comprueba que no esté vacío
    formulario.matricula.focus();
    alert('No has puesto la MATRICULA');
    return false;
  }
  if(formulario.valor.value.length==0) {  //comprueba que no esté vacío
    formulario.valor.focus();
    alert('No has puesto el VALOR');
    return false;
  }
  return true;
}
 
function habilitaDeshabilita(formulario)
{
    if (formulario.factura.checked == true)
    {
	formulario.valor.disabled = false;
	formulario.valor.value = "50";
    }
    if (formulario.factura.checked == false)
    {
    formulario.valor.disabled = true;
    }
}
</script>
 
</head>
 
<body>
<form method="post" action="registra.php" onsubmit="return validarForm(this);" name="formulario">
 
    <p>Nombre: <input type="text" name="nombre" size="20"></p>
    <p>Fecha: <input type="text" value="<?php echo date("Y-m-d H:i:s");?>" name="fecha" size="20" readonly="true">
 
	<p>Tipo de vehículo:
	<select name="vehiculo">
		<option value="Turismo">Turismo</option>
		<option value="Todoterreno">Todoterreno</option>
		<option value="Furgoneta">Furgoneta</option>
		<option value="Ciclomotor">Ciclomotor</option>
		<option value="Quad">Quad</option>
		<option value="Agricola">Maquinaria Agrícola</option>
 
	</select><br>
 
	<p>Marca y Modelo: <input type="text" name="marca" size="20"></p>
    <p>Matrícula: <input type="text" name="matricula" size="20"></p>
    <p>¿Hay factura con IVA?<input type="checkbox" name="factura" id="factura" value="off" checked onClick="habilitaDeshabilita(this)">
 
	<p>Valor Fiscal: <input type="number" name="valor" size="20"></p>
 
	<p>
    <p><input type="submit" value="Enviar">
 
</form>
 
</body>
 
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ocultar textbox de un formulario si un checked está activado

Publicado por xve (2100 intervenciones) el 26/02/2018 12:11:11
Hola JOsema, te he modificado la funcion habilitaDeshabilita()... haber si te sirve:

1
2
3
4
5
6
7
8
9
10
11
12
function habilitaDeshabilita(elemento)
{
    if (elemento.checked == true)
    {
		document.getElementsByName("formulario")[0].valor.disabled = false;
		document.getElementsByName("formulario")[0].valor.value = "50";
    }
    if (elemento.checked == false)
    {
		document.getElementsByName("formulario")[0].valor.disabled = true;
    }
}

Si tienes cualquier duda, comentame, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 11
Ha disminuido su posición en 13 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ocultar textbox de un formulario si un checked está activado

Publicado por Josema (6 intervenciones) el 26/02/2018 19:10:46
Creo que funciona, pero cuando carga el formulario, me gustaría que el check esté desactivado y por defecto sale marcado. La propiedad value está en "off", como lo puedo dejar por defecto sin marcar??

Ya está, la propiedad checked está activada... solucionado.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ocultar textbox de un formulario si un checked está activado

Publicado por xve (2100 intervenciones) el 26/02/2018 20:23:34
El value no quita el checked... quita el texto checked!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar