PHP - problema con insert y funcion JS

 
Vista:
sin imagen de perfil
Val: 336
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

problema con insert y funcion JS

Publicado por Alejandro (172 intervenciones) el 24/04/2020 12:30:55
Hola buenos dias,

intentare ser lo mas claro posible,

vereis tengo una intranet con diversos formularios. En cada uno de esos formularios tengo una funcion JavaScript que hace mostrar y ocultar divs a partir de selects. Todas las funciones van correctamente, el problema que tengo es que a la hora de subir los datos a la bd, tengo que hacer una funcion JavaScript para cada select, porque tienen valores diferentes esos select y cada uno registra cosas diferentes. Entonces a la hora de validar tengo que estar cambiando los values del select de nombre.

Me gustaria saber como hacer una funcion JavaScript que haga lo de los divs pero sin tener que estar creando una funcion javascript para cada select.
Otro problema que tengo es que tambien he de crear diversos identificadores para los divs en mi pagina CSS porque la funcion "getElementsByClassName" en las funciones JavaScript no funciona.

A continuacion, os dejo mi codigo para que lo veais mas claro.

Mi codigo JavaScript:

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
//funcion que muestra los div de los select
 
 
function divSelect (select) {
	if(select.value=="mostrar") {
 
		document.getElementById("div_"+select.id).style.display="block";
 
	}else{
 
		document.getElementById("div_"+select.id).style.display="none";
 
	}
 
}
 
function divSelect2 (select) {
	if(select.value=="Formacion_Reglada"){
 
		document.getElementById("div_"+select.value).style.display="block";
 
	}else if(select.value=="Idiomas"){
 
		document.getElementById("div_"+select.value).style.display="block";
 
	}else{
 
		document.getElementById("div_Formacion_Reglada").style.display="none";
		document.getElementById("div_Idiomas").style.display="none";
 
	}
}
 
function divSelect3 (select) {
	if(select.value=="Servicios_Sociales"){
 
		document.getElementById("div_"+select.value).style.display="block";
 
	}else if(select.value=="Entidad_Externa"){
 
		document.getElementById("div_"+select.value).style.display="block";
 
	}else{
 
		document.getElementById("div_Servicios_Sociales").style.display="none";
		document.getElementById("div_Entidad_Externa").style.display="none";
 
	}
}

Aqui los diversos select:

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
79
<h3>Formación</h3>
    <textpath>Tipo de formación:</textpath>
    <select name="tipoFormacion" id="formacion" onclick="divSelect2(this)">
        <option value="ocultar" selected>--No seleccionado--</option>
        <option value="Formacion_Reglada">Formación reglada</option>
        <option value="Otra_Formacion">Otra formación</option>
        <option value="Idiomas">Idiomas</option>
    </select>
 
<div id="div_Formacion_Reglada">
    <label>Nombre:</label>  <input type="text" name="nombreFormacion">  <input placeholder="centro" type="text"  name="centroFormacion">  <input placeholder="año" type="text" name="anoFormacion">  <input placeholder="nivel" type="text" name="nivelFormacion"><br><br>
    <label>Objetivo:</label>  <textarea cols="50"name="objetivoFormacion"></textarea><br> <label>Documentación:</label><br><input type="file" name="documentosFormacion" >
</div>
<div id="div_Idiomas">
    <label>Idioma:</label> <input type="text" name="idiomas"> <input placeholder="nivel" type="text" name="nivelIdiomas">
    <label>Documentación:</label><br><input type="file" name="documentosIdiomas" >
</div>
 
 
<h3>Situación económica</h3>
 
    <label>Prestaciones:</label>
    <select name="prestaciones" id="prestaciones" onclick="divSelect(this)">
        <option value="mostrar">Si</option>
        <option value="ocultar" selected >No</option>
    </select>
 
     <div id="div_prestaciones">
 
        <label>Tipo:</label>
        <select name="tipoPrestacion" >
            <option selected value="nada">--No seleccionado--</option>
            <option>Prestacion por desempleo</option>
            <option>Subsidio por desempleo</option>
            <option>Discapacidad</option>
            <option>Renta garantizada</option>
            <option>Otros</option>
        </select>
        <label>Descripción:</label><textarea cols="45" name="desPrestacion"></textarea>
 
      </div>
 
      <textpath>Ayuda económica de la Mancomunidad:</textpath>
     <select name="ayudaEco" id="ayudaEco" onclick="divSelect(this)">
        <option value="mostrar">Si</option>
        <option value="ocultar" selected>No</option>
     </select>
        <div id="div_ayudaEco">
            <textpath>Clase de ayuda:</textpath><input type="text" name="claseAyuda">
            <label>Fecha:</label><input type="date" name="fechaAyuda"><br><br>
            <label>Objetivo:</label><textarea cols="40" name="objetivoAyuda"></textarea >
 
        </div>
 
<textpath>Coordinacion con:</textpath>
 
<select name="coordinacion" onclick="divSelect3(this)">
    <option value="ocultar" selected>--No seleccionado--</option>
    <option value="Servicios_Sociales">Servicios sociales de la Mancomunidad</option>
    <option value="Entidad_Externa">Entidad externa</option>
  </select>
 
</p>
    <div id="div_Servicios_Sociales">
        <textpath>Nombre del area de SS.SS:</textpath><input type="text" name="nombreSS">
        <textpath>Nombre del técnico:</textpath><input type="text" name="nombreTecnicoSS">
        <label>Teléfono:</label><input type="text" name="telefonoSS"><br>
        <textpath>¿Expediente en SS.SS?</textpath>
            <select name="expedienteEnSS">
                <option>Si</option>
                <option selected>No</option>
            </select>
    </div
 
    <div id="div_Entidad_Externa">
        <textpath>Nombre de entidad externa:</textpath><input type="text" name="nombreEntExt">
        <textpath>Nombre del técnico:</textpath><input type="text" name="nombreTecnicoEntExt">
        <label>Teléfono:</label><input type="text" name="telefonoTecnicoEntExt">
    </div>

Archivo CSS:

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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#div_prestaciones{
 
    display:none;
 
    position:relative;
 
    vertical-align:baseline;
 
    width:800px;
 
    padding:10px;
 
    z-index:1;
 
}
 
 
#div_ayudaEco{
 
    display:none;
 
    position:relative;
 
    vertical-align:baseline;
 
    width:900px;
 
    padding:10px;
 
    z-index:1;
 
}
 
#div_Formacion_Reglada{
 
	display:none;
 
	position:relative;
 
	vertical-align:baseline;
 
	width:1000px;
 
	padding:10px;
 
	z-index:1;
 
}
 
 
#div_Idiomas{
 
	display:none;
 
	position:relative;
 
	vertical-align:baseline;
 
	width:1000px;
 
	padding:10px;
 
	z-index:1;
 
}
 
 
#div_Servicios_Sociales{
 
 
	display:none;
 
	position:relative;
 
	vertical-align:baseline;
 
	width:1000px;
 
	padding:10px;
 
	z-index:1;
 
 
}
 
#div_Entidad_Externa{
 
	display:none;
 
	position:relative;
 
	vertical-align:baseline;
 
	width:1000px;
 
	padding:10px;
 
	z-index:1;
 
}


Espero haber sido claro, gracias de antemano
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