PHP Classes

File: javascript/search.js

Recommend this page to a friend!
  Classes of José Filipe Lopes Santos   Calendar Picker   javascript/search.js   Download  
File: javascript/search.js
Role: Auxiliary data
Content type: text/plain
Description: search functions
Class: Calendar Picker
Calculate values for a given month of the year
Author: By
Last change:
Date: 13 years ago
Size: 4,105 bytes
 

Contents

Class file image Download
/** * Script para pesquisas. * * Autor: José Filipe Lopes Santos * Data de criação: 26-04-2010 * Data da últ. actualização: 26-04-2010 */ /** * Calendar Picker. * * Abre o popup com o calendário para picar a data. * Se tiver data seleccionada, abre o popup com essa data. * Senão abre o popup com a data actual. * * @param object f formulário em causa * @param string str_fields string com os nomes dos campos */ function CalendarPicker(f,str_fields){ // obter um array com os nomes dos campos fields = Array(); fields = str_fields.split(","); // campos com os selects listbox = Array(); for (i=0;i<fields.length;i++) // para cada campo listbox[i] = eval("document."+f+"."+fields[i]); // obter o valor do mês var mes = ""; for (i=0;i<listbox[1].options.length;i++){ if (listbox[1].options[i].selected){ mes = listbox[1].options[i].value; break; } } // obter o valor do ano var ano = ""; for (i=0;i<listbox[2].options.length;i++){ if (listbox[2].options[i].selected){ ano = listbox[2].options[i].value; break; } } var file = "calendar_picker.php?fields_form="+str_fields+"&form_src="+f+"&mes="+mes+"&ano="+ano; open_window(file,220,260,"calendar_picker"); } /** * Guarda os valores de pesquisa no formulário de origem. * * Esta função, guarda os valores de pesquisa no formulário de origem. * * @param string formname nome do formulário de origem * @param string str_fields string com os nomes dos campos * @param string str_value string com os valores * @param string str_types string com os tipos dos campos */ function save_search_values(formname,str_fields,str_values,str_types){ // obter os campos, valores e tipos fields = Array(); fields = str_fields.split(","); values = Array(); values = str_values.split(";"); types = Array(); types = str_types.split(";"); for (i=0;i<fields.length;i++){ // para cada campo if (types[i] == "text" || types[i] == "hidden") // campo TEXT ou HIDDEN // setar o valor para esse campo eval("window.opener.document."+formname+"."+fields[i]+".value = '"+values[i]+"'"); else if (types[i] == "select"){ // campo SELECT // campo com o select var select = eval("window.opener.document."+formname+"."+fields[i]); for (j=0;j<select.options.length;j++){ // para cada option if (select.options[j].value == values[i]){ // encontrou o valor select.options[j].selected = true; // seleccionar / destacar essa option break; } } } else alert("Tipo "+types[i]+" não suportado ! "); } // fechar a janela window.close(); } /** Esta função guarda os valores do popup de selecção de items, no form de origem. parmetros: str_fields - string com os nomes dos campos de origem str_values - string com os valores dos campos de origem index_nome - indíce do campo com os nomes */ function save_selected_values(str_fields,str_values,index_nome){ // obter os campos fields = new Array(); fields = str_fields.split(","); // obter os valores values = new Array(); values = str_values.split("#"); // guardar os dados no formulrio de origem for (i = 0; i < fields.length; i++){ // para cada campo // guardar os valores nos respectivos campos eval("window.opener.document.forms[0]."+fields[i]+".value = '"+values[i]+"'"); } // descodificar o campo nome eval("window.opener.document.forms[0]."+fields[index_nome]+".value = unescape(window.opener.document.forms[0]."+fields[index_nome]+".value)"); // fechar a janela window.close(); } /** * Esta função muda o valor da checkbox ver todos, para 'yes' ou 'no', consoante esteja ou não checada. * * @param object f formulário em causa * @param string fieldname nome do campo em causa */ function ChangeShowAll(f,fieldname){ var checked = f.elements[fieldname].checked; var show_all_value = ""; // se a checkbox ver todos está checada (com visto) => o valor é yes, senão o valor é no. show_all_value = (checked? "yes": "no"); // alterar o campo f.elements[fieldname].value = show_all_value; // submeter os dados f.submit(); }