Código de JavaScript - Select en un formulario

Select en un formulariográfica de visualizaciones


JavaScript

estrellaestrellaestrellaestrellaestrella(6)
Publicado el 18 de Febrero del 2002 por Rafael Avaria
15.134 visualizaciones desde el 18 de Febrero del 2002. Una media de 21 por semana
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.135 visualizaciones desde el 18 de Febrero del 2002. Una media de 21 por semana
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)

Jhoropopo
11 de Octubre del 2002
estrellaestrellaestrellaestrellaestrella
Eres un monstruo....no sabes lo que llevaba buscando lo que has publicado aqui.
Responder
harold
09 de Diciembre del 2002
estrellaestrellaestrellaestrellaestrella
genial
Responder
Jose
06 de Mayo del 2003
estrellaestrellaestrellaestrellaestrella
Impresionante!! llevaba meses buscando algo asi.
Responder
Roy Molina
19 de Febrero del 2005
estrellaestrellaestrellaestrellaestrella
Men me salvo llevo rato tras algo como esto. Gracias de verdad.
Responder
David
09 de Noviembre del 2008
estrellaestrellaestrellaestrellaestrella
Gracias Sr. Muy bueno....
Responder
Arlekin
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

http://lwp-l.com/s104