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

   
Vista:

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

Ocultar textbox de un formulario si un checked está activado

Publicado por xve (2019 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

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

Ocultar textbox de un formulario si un checked está activado

Publicado por xve (2019 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
Revisar política de publicidad