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
115
116
117
118
119
120
121
|
// *************************************************************************************************************************************************
// Libreria de scripts de Javascript
// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
// Fecha Creación: 2009-2010
// Fecha Última modificación: Agosto-2010
// Nombre del fichero: accionmenu.js
// Descripción :
// Este fichero implementa las funciones javascript del fichero accionmenu.php
// *************************************************************************************************************************************************
var altas,bajas,modificaciones;
//________________________________________________________________________________________________________
// Devuelve el valor seleccionado de un desplegable cualquiera
//________________________________________________________________________________________________________
function tomavalorDesple(desplegable)
{
var idx=desplegable.selectedIndex; // Indice seleccionado en el desplegable
var val=desplegable.options[idx].value; // Valor seleccionado en el desplegable
return(val);
}
//________________________________________________________________________________________________________
//
// Envía la información para dar de alta, baja o modificar items en un menu
// Parámetros:
// $op: Indica si esta página se ejecuta desde "acciones" o desde "menus"
// 1: desde acciones
// 2: desde menus
//________________________________________________________________________________________________________
function confirmar(op)
{
var ELEMENT_NODE=1; // Tipo de nodo
altas=bajas=modificaciones="";
if(op==1){
var idtipoaccion=document.fdatos.idtipoaccion.value;
var tipoaccion=document.fdatos.tipoaccion.value;
}
// Indices de campos a recuperar
var ichk=0; // Checkbox
var imenu=1; // Nombre del menu
var itipo=2; // Tipo de item
var iurlimg=3; // Url de la imagen
var iitem=4; // Literal del item
var iorden=5; // Orden de ejecución
var iidtipoaccion=6; // Identificación de la acción
var itipoaccion=7; // Identificación del tipo de acción
var trMnu = document.getElementById("TR_menus"); // Recupera la tabla de menu
trMnu=trMnu.nextSibling; // Primera fila de particiones
while(trMnu){
if(trMnu.nodeType==ELEMENT_NODE){
var ochk=trMnu.childNodes[ichk].childNodes[0];
var otipo=trMnu.childNodes[itipo].childNodes[0];
var ourlimg=trMnu.childNodes[iurlimg].childNodes[0];
var oitem=trMnu.childNodes[iitem].childNodes[0];
var oorden=trMnu.childNodes[iorden].childNodes[0];
var idmenu=ochk.id; // Identificador del menu
var std=ochk.value; // Estado original del checkbox 1=seleccionado 0=No seleccionado
var tipo=tomavalorDesple(otipo);
var urlimg=tomavalorDesple(ourlimg);
var item=oitem.value;
var orden=oorden.value;
if(op==2){
var idtipoaccion=trMnu.childNodes[iidtipoaccion].innerHTML;
var tipoaccion=trMnu.childNodes[itipoaccion].innerHTML;
}
/* Control de errores */
if(ochk.checked){
if(item==""){ // Descripción del item
alert(TbMsg[0]);
oitem.focus();
return(false);
}
if(orden=="" || orden<0 || !IsNumeric(orden)){
alert(TbMsg[1]);
oorden.focus();
return(false);
}
}
/* Compone parametros */
if(ochk.checked){ // El checbox está seleccionado, alta o modificación
var prm=idmenu+","+idtipoaccion+","+tipoaccion;
prm+=","+tipo +","+urlimg+","+item+","+orden;
if(std>0) // Originalmente estaba seleccionado, se trata de una modificación
modificaciones+=prm+";";
else
altas+=prm+";";
}
else{ // Baja
if(std>0){ // Si originariamente estaba marcado se trata de una baja
var prm=idmenu+","+idtipoaccion+","+tipoaccion;
bajas+=prm+";";
}
}
}
trMnu=trMnu.nextSibling; // Primera fila de particiones
}
/* LLamada a la gestión */
var wurl="../gestores/gestor_accionmenu.php";
var prm="altas="+altas+"&bajas="+bajas+"&modificaciones="+modificaciones;
CallPage(wurl,prm,"retornoGestion","POST");
}
//______________________________________________________________________________________________________
function retornoGestion(resul)
{
if(resul.length>0){
eval(resul)
}
}
//________________________________________________________________________________________________________
function resultado_gestion_accionmenu(resul,descrierror){
if (!resul){ // Ha habido algún error en la inserción
alert(descrierror);
return
}
alert(TbMsg[3]);
location.href="../nada.php";
}
|