Código de JavaScript - Select en un formulario

sin imagen de perfil

Select en un formulariográfica de visualizaciones


JavaScript

estrellaestrellaestrellaestrellaestrella(6)
Publicado el 18 de Febrero del 2002 por Rafael Avaria
15.580 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.581 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
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s104