Código de JavaScript - Select en un formulario

sin imagen de perfil

Select en un formulariográfica de visualizaciones


JavaScript

Publicado el 18 de Febrero del 2002 por Rafael Avaria (3 códigos)
15.715 visualizaciones desde el 18 de Febrero del 2002
Este código permite cambiar el campo select de un formulario al seleccionar una opcion del mismo sin actualizar la pagina.

Versión 1
estrellaestrellaestrellaestrellaestrella(6)

Publicado el 18 de Febrero del 2002gráfica de visualizaciones de la versión: Versión 1
15.716 visualizaciones desde el 18 de Febrero del 2002
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<HTML>
<HEAD>
<!-- Original: Rafael Avaria G--->
<!-- email: rafa_avaria@hotmail.com-->
<!-- http://www.lawebdelprogramador.com -->
<script language="javascript">
<!-- Beguin
// only change the text in the array for anythin that you want, dont' worry por the opion "Other" this automatly appears at the end list.
var sistem1Array =  new Array("('Escoje una Opcion','',true,true)",
"('sistema 1.1','sistema 1.1')",
"('sistema 1.2','sistema 1.2')",
"('sistema 1.3','sistema 1.3')",
"('sistema 1.4','sistema 1.4')");

var sistem2Array =  new Array("('Escoje una Opcion','',true,true)",
"('sistema 2.1','sistema 2.1')",
"('sistema 2.2','sistema 2.2')",
"('sistema 2.3','sistema 2.3')",
"('sistema 2.4','sistema 2.4')");

function checkbrowser(){

if (navigator.appName == 'Netscape'){
// if you deal with layers, you will to need change document.form for something like this document.form.document.layername this valid only for nestcape 4, i dont tested in netsacpe 6 
	if (parseInt(navigator.appVersion) >= 4){
		inForm = document.form;
		selected = document.form.sistem.options[document.form.sistem.selectedIndex].value;
		changesistem()
		}
	}
else {
	if (parseInt(navigator.appVersion) >= 4){
		inForm = document.form;
		selected = document.form.sistem.options[document.form.sistem.selectedIndex].value;
		changesistem();
		}
	}
}
function validate(num){
var x=0;
for( var i = 1; i <= num.length; i++){
	for( var j = 0; j <= 9;j++){
	if ( num.charAt(i-1) == j ){x++;}
	else if (num.charAt(i-1) == '.'){x++;}
	}
}

if (x == 0){num = '-1';}
return num;
}

function changesistem(){

if (selected == 'sistem1' || selected == 'sistem2'){
	var selectedArray = eval(selected + "Array");
	
	for (var i=0; i <= inForm.sistem.length; i++){
		inForm.sistem.options[i] = null;
		}
	if (inForm.sistem.options[0].value != null){
		inForm.sistem.options[0] = null;
		}

	for (var i=0; i < selectedArray.length; i++) {
		eval("inForm.sistem.options[i]="+ "new Option"+ selectedArray[i]);
		if (inForm.sistem.options[i].value == null){
			inForm.sistem.options[i].value = inForm.sistem.options[i].txt;
			}
		}
	inForm.sistem.options[inForm.sistem.length]=new Option('Otro','Otro');

}
if ( selected == 'Otro'){
	var newsize = null;
	while (newsize == null) {
		var newsize = prompt("Escoje el numero de sistema","");
		if (newsize == ""){
			alert("No hay datos ");
			break;
			}
		}
	if (validate(newsize) != -1 ) {
		newsize = "sistem "+newsize; 
		inForm.sistem.options[inForm.sistem.length-1] = new Option(newsize,newsize,true,true);
		inForm.sistem.options[inForm.sistem.length] = new Option('Other','Other');
		}
	else if (validate(newsize) == -1){
		alert("Entrada de datos no valida");
		selected = inForm.sistem.options[inForm.sistem.length-1].value
		}
	else {
		inForm.sistem.options[inForm.sistem.length-1]= new Option('no encontrado en la lista','no escojio una alternativa valida',true,true);
		}
	}
}

//End-->
</script>

</HEAD>
<BODY>
<BR>
<BR>
<FORM name="form">
<CENTER>
<FONT SIZE="-2" face="Arial, Helvetica, sans-serif"><B>sistemas: </B></FONT>
<SELECT NAME="sistem" onchange="javascript:checkbrowser()">
<option selected></option>
<option value="sistem1"><FONT SIZE="-2" face="Arial, Helvetica, sans-serif">Sistema uno </option>
<option value="sistem2"><FONT SIZE="-2" face="Arial, Helvetica, sans-serif">Sistema dos</option>
</SELECT>
</FORM>
</BODY>
</HTML>



Comentarios sobre la versión: Versión 1 (6)

11 de Octubre del 2002
estrellaestrellaestrellaestrellaestrella
Eres un monstruo....no sabes lo que llevaba buscando lo que has publicado aqui.
Responder
9 de Diciembre del 2002
estrellaestrellaestrellaestrellaestrella
genial
Responder
6 de Mayo del 2003
estrellaestrellaestrellaestrellaestrella
Impresionante!! llevaba meses buscando algo asi.
Responder
19 de Febrero del 2005
estrellaestrellaestrellaestrellaestrella
Men me salvo llevo rato tras algo como esto. Gracias de verdad.
Responder
9 de Noviembre del 2008
estrellaestrellaestrellaestrellaestrella
Gracias Sr. Muy bueno....
Responder
13 de Diciembre del 2011
estrellaestrellaestrellaestrellaestrella
jajajaja.......muy buena aportacion....
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s104