JavaScript - Formulario con html y base de datos google SpreadSheet

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 33 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Formulario con html y base de datos google SpreadSheet

Publicado por Gastro (2 intervenciones) el 26/08/2019 00:23:04
Hola, soy nuevo acá comenzando a entender JS y para allá voy.

Estuve buscando algunos ejemplos de formularios o cuadros de diálogos para "SpreadSheets" en internet y me encuentro con un tipo que engaña a la gente con un código que esta malo y a pesar de que mucha gente quiere saber como es y si tiene el ejemplo en linea el solo se ríe de ellos haciéndoles creer que lo tiene y los llena de bendiciones.

el vídeo:


El vídeo que sale ahí NUNCA lo comparte y hace creer a la gente que lo tiene pero al parecer es un chanta. Pues bien, me di el trabajo de ver la pantalla y escribirlo por completo. ESTÁ MALO y al momento de mostrar la "secuencia de comando" hace Alt+Tab para ir al código de la supuesta hoja de cálculos va a otro código.

https://docs.google.com/spreadsheets/d/1ajEBFri7aGF0U2mPIPoZen7r-SAGgEzodrknB9kerJA/edit#gid=0


ahí está lo hecho (código escrito), mi duda es si es que alguien me puede ayudar a depurarlo y hacerlo funcionar.

Muy agradecido

Gastro
Market !!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Gabriel Alejandro Vega
Val: 14
Ha aumentado su posición en 7 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Formulario con html y base de datos google SpreadSheet

Publicado por Gabriel Alejandro Vega (4 intervenciones) el 16/01/2020 21:10:08
Yo también caí en el mismo sitio de ese charlatán, y me rompí la cabeza intentando que el código funcione, hasta que me dí cuenta que el maldito de las bendiciones se burlaba de los demás, el código que compartió no es el mismo que usó en el video. Incluso si hiciste como yo de ir pausando el video y copiando el código que se veía en pantalla, para reconstuir el queel tipo mostró, tampoco funciona.

Pero después de investigar un poco bastante, logré producir un código que funciona bien para hacer algo sencillo. Espero que mi respuesta no te llegue demasiado tarde, y te te sea útil. Te comparto el enlace de lo que hice, y el código fuente en GAS y el HTML del formulario. Prestá mucha atención a los comentarios que puse en el código porque son la clave para que funcione. (Lamentablemente no puedo subir los archivos de Google Calc , porque Google no lo permite. Así de sencillo.
Saludos desde La Rioja, Argentina.

PD.: Para que se ejecute el script tenés que dar la autorización usando tu cuenta de email de Google. Te va a aparecer el mensaje de seguridad y tenes que elegir en el enlace que dice "configuración avanzada" luego bajar hasta el final y elegir permitir. Te adjunto una imagen del formulario que hice funcionando ahora mismo.
PD. 2: El código que aparece deshabilitado con signos de comentarios no funciona, se trata de distintas pruebas que hice y que fallaron pero no me di cuenta de limpiar el código antes de enviarlo.

Aquí te dejo el vínculo, está compartido con permisos de edición, así que podés hacer una copia en tu Google Drive y trabajar con el archivo desde allí mismo.

https://docs.google.com/spreadsheets/d/19JIqtpeUUAagm5y1V1GQG2AqB9wjMF4jOdJgKUUpcYM/edit?usp=sharing


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1) POR LAS DUDAS: El siguiente código lo debés ingresar en un archivo Main.gs desde el editor de secuencias de comando.

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
function onOpen(e){
  mostrarFormulario();
}
function mostrarFormulario(){
var html = HtmlService.createTemplateFromFile('Index.html').evaluate()
   .setTitle('Acceso')
   .setWidth(290)
   .setHeight(350);
SpreadsheetApp.getUi().showModelessDialog(html,'Formulario Personas'); //Esta es la función que llama al formulario 'Formulario Personas',
  //                                                                      ese nombre debe ser el mismo que tiene en Index.html en la linea <form id="Formulario Personas",
  //                                                                      en caso contrario no funcionará.
}
 
function procesaFormDatosPersona(e){
// Esta función es llamada desde Index.html, en el momento que se hace click en el botón Guardar, para procesar los datos del formulario en la hoja de cálculo.
var sNombre= e.nombre;
var sApellido= e.apellido;
var sId= e.id;
var sSexo= e.sexo;
var sDireccion= e.direccion;
var sCelular= e.celular;
var hojaCalculo= SpreadsheetApp.getActiveSpreadsheet();
var hojaDatos= hojaCalculo.getSheetByName('Datos');
var ultimaFila= hojaDatos.getLastRow();
 
hojaDatos.getRange(ultimaFila+1,1).setValue(sNombre);
hojaDatos.getRange(ultimaFila+1,2).setValue(sApellido);
hojaDatos.getRange(ultimaFila+1,3).setValue(sId);
hojaDatos.getRange(ultimaFila+1,4).setValue(sSexo);
hojaDatos.getRange(ultimaFila+1,5).setValue(sDireccion);
hojaDatos.getRange(ultimaFila+1,6).setValue(sCelular);
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2) El código que sigue es del formulario HTML y lo debés ingresar en un archivo Index.html desde el editor de secuencias de comando.
Desde Google Calc ir a Herramientas>Editor de secuencias de comando. Ya en el editor ir a Archivo>Nuevo>Archivo HTML.

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
<!DOCTYPE html>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons.css">
 
<script>
 
function cerrarVentanaModal(){
  google.script.host.close();
}
 
function procesaFormulario(){
  google.script.run.procesaFormDatosPersona(document.forms["Formulario Personas"]); // Llama a procesaFormDatosPresona() que está definida en Main.gs.
  google.script.host.close();
  //google.script.run.withSuccessHandler(cerrarVentanaModal); //.procesaFormDatosPersona(document.forms[0]);
  //
}
 
$(function(){
  $( "#cancelar" ).click(cerrarVentanaModal); //Asigna la función que se va a ejecutar a la acción del botón Cerrar.
  $( "#guardar" ).click(procesaFormulario); // Asigna la función que se va a ejecutar a la acción del botón Guardar. Llama a procesaFormulario().
});
 
</script>
 
<html>
 
<? var hojaCalculo = SpreadsheetApp.getActiveSpreadsheet();
   var hojaParametros = hojaCalculo.getSheetByName('Parametros');
 
   var ultimaFila = hojaParametros.getLastRow();
?>
 
<div>
 
<form id="Formulario Personas" name="Formulario Personas">
<br>
Nombre (s):
<br><input type="text" id="nombre" name="nombre" placeholder="Primer y/o segundo nombre" required>
 
<br>
Apellido (s):
<br><input type="text" id="apellido" name="apellido" placeholder="Primer y/o segundo apellido" required>
 
<br>
ID:
<br><input type="text" id="id" name="id" placeholder="Numeros y letras" required>
<br>
Sexo:
<br>
<select id="sexo" name="sexo" required>
<? i= 2;
   while (i<=ultimaFila){
?>    <option value="<?=hojaParametros.getRange(i, 1).getValue()?>"><?=hojaParametros.getRange(i, 1).getValue()?></option>
<?
    i++;
   }
?>
</select>
 
<br>
Dirección:
<br><input type="text" id="direccion" name="direccion" placeholder="Direccion residencia" required>
<br>
Celular:
<br><input type="number" id="celular" name="celular" placeholder="Numero del movil">
<br><br>
<button class="action" id="guardar">Guardar</button>
<button class="action" id="cancelar">Cerrar</button>
<!--<button id="buscar">Buscar</button>
<button id="editar">Editar</button>
<button class="action" id="enviar">Enviar</button>!/> -->
 
</form>
</div>
</html>
FormularioCalcCompartido
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
4
Comentar
Imágen de perfil de Felix
Val: 3
Ha disminuido su posición en 9 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Formulario con html y base de datos google SpreadSheet

Publicado por Felix (1 intervención) el 24/02/2020 02:50:01
Estimado Gabriel Vega, disculpa que lo mencione pero la hoja de calculo muestra el botón Agregar que al pulsar no muestra el formulario,..cual es el nombre del código que se debe ingresar para que funcione, ?? sera DoGet¡¡
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Formulario con html y base de datos google SpreadSheet

Publicado por Gastro Market (2 intervenciones) el 24/02/2020 04:05:28
Hola Gabriel, agradecido viejo por tu respuesta, vi el archivo, revise la secuencia de comandos y funciona bien, el formulario abre, valida las respuestas, eso si no gurda los datos, o por lo menos no pide hacer eso , si me pudieras ayudar quizás alguien borro algo sin querer.

un saludo y gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gabriel Alejandro
Val: 14
Ha aumentado su posición en 7 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Formulario con html y base de datos google SpreadSheet

Publicado por Gabriel Alejandro (4 intervenciones) el 28/02/2020 14:19:44
Hola ya retaure el formulario original, pues alguien se tomó el trabajo de alterar el código y de insertar una hoja nueva con un formulario que está bloqueado.
Ahora el formulario debería funcionar bien si se siguen los pasos tal como se describe más.Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Formulario con html y base de datos google SpreadSheet

Publicado por Alejandro (1 intervención) el 30/03/2020 19:52:07
Saludos amigo, gracias por tu aporte, donde esta? el link del codigo que restauraste.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Formulario con html y base de datos google SpreadSheet

Publicado por Fernando (1 intervención) el 03/05/2020 06:16:00
Hola que tal, no se si podrian ayudarme, el archivo ya lo tengo en funcionamiento, solo que al guardar los datos del form de html la pagina web se queda en blanco, hay algun modo para evitar esto y que la persona no tenga que recargar la pagina, simplemente que siga ingresando los datos cada vez que le de guardar.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Formulario con html y base de datos google SpreadSheet

Publicado por daniel (2 intervenciones) el 07/09/2021 13:55:34
Buenos días amigo primero que todo muchas gracias por tu aporte, te escribo desde Colombia por que al intentar validar el link esta caído, y por otra parte, al validar el código me genera diferentes errores, como adjunto en las imágenes, no se donde me estoy equivocando, por favor me podrías ayudar.
Imagen1
Imagen2
Imagen3
Imagen4
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Formulario con html y base de datos google SpreadSheet

Publicado por juan (1 intervención) el 25/02/2020 05:46:24
Hola

estoy tratando de programar un formulario html con google spreadsheet, tengo uno que ayudo pero no he podido ajustar algunos detalles, como poder quitar el adjunto, hacer que en el menu desplegable quede la selección.

Este es el formulario html https://script.google.com/macros/s/AKfycbwfuQM29yRyIm43xlpx7IdV1G1FBChLI9_76g_jjQQDw1faeIY/exec
Esta es la base de datos registrada https://docs.google.com/spreadsheets/d/1EQWSGIbQ5O-d5l3_Q3uxEhepOfM2-KMyFqomNl53TQQ/edit#gid=0

Quien me pueda ayudar, quedare atento


El código utilizado es:

​​​
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
1. codigo.gs
 
//  1. Enter sheet name where data is to be written below
        var SHEET_NAME = "Sheet1";
//  2. Run > setup
//
//  3. Publish > Deploy as web app
//    - enter Project Version name and click 'Save New Version'
//    - set security level and enable service (most likely execute as 'me' and access 'anyone, even anonymously)
//
//  4. Copy the 'Current web app URL' and post this in your form/script action
//
//  5. Insert column names on your destination sheet matching the parameter names of the data you are passing in (exactly matching case)
var SCRIPT_PROP = PropertiesService.getScriptProperties(); // new property service
function doGet(e) {
  return HtmlService.createHtmlOutputFromFile('forms.html').setTitle("REGISTRO DE RECIBO");
}
function uploadFileToGoogleDrive(data, file, name, pid, email, tel, position) {
  try {
    var dropbox = "Received Files";
    //var folder, folders = DriveApp.getFoldersByName(dropbox);
    var folder=DriveApp.getFolderById('1RKZjtYftyIGUTJ6cPd6NTGyS3fbidqlu');
    /*
    if (folders.hasNext()) {
      folder = folders.next();
    } else {
      folder = DriveApp.createFolder(dropbox);
    }
    */
    /* Credit: www.labnol.org/awesome */
    var contentType = data.substring(5,data.indexOf(';')),
        bytes = Utilities.base64Decode(data.substr(data.indexOf('base64,')+7)),
        blob = Utilities.newBlob(bytes, contentType, file),
        file = folder.createFolder([name, email].join(" ")).createFile(blob),
        filelink=file.getUrl() ;
  var lock = LockService.getPublicLock();
  lock.waitLock(30000);  // wait 30 seconds before conceding defeat.
    // next set where we write the data - you could write to multiple/alternate destinations
    var doc = SpreadsheetApp.openById("1EQWSGIbQ5O-d5l3_Q3uxEhepOfM2-KMyFqomNl53TQQ");
    var sheet = doc.getSheetByName(SHEET_NAME);
    // we'll assume header is in row 1 but you can override with header_row in GET/POST data
    var headRow =  1;
    var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
    var nextRow = sheet.getLastRow()+1; // get next row
    var row = [];
    // loop through the header columns
    for (i in headers){
      if (headers[i] == "Timestamp"){ // special case if you include a 'Timestamp' column
        row.push(new Date());
      } else if (headers[i] == "name"){
        row.push(name);
      } else if (headers[i] == "pid"){
        row.push(pid);
      } else if (headers[i] == "email"){
        row.push(email);
      } else if (headers[i] == "tel"){
        row.push(tel);
      } else if (headers[i] == "position"){
        row.push(position);
      } else if (headers[i] == "filelink"){
        row.push(filelink);
      }
 
    }
    // more efficient to set values as [][] array than individually
    sheet.getRange(nextRow, 1, 1, row.length).setValues([row]);
 
    // return json success results
    //return ContentService
    //      .createTextOutput(JSON.stringify({"result":"success", "row": nextRow}))
    //      .setMimeType(ContentService.MimeType.JSON);
 
 
    return "OK";
 
  } catch (f) {
    return f.toString();
  } finally { //release lock
    lock.releaseLock();
  }
 
}
function setup() {
    var doc = SpreadsheetApp.getActiveSpreadsheet();
    SCRIPT_PROP.setProperty("1EQWSGIbQ5O-d5l3_Q3uxEhepOfM2-KMyFqomNl53TQQ", doc.getId());
}
 
 
2. codigo.html
 
<!DOCTYPE html>
<html>
 <head>
   <base target="_blank">
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>REGISTRO DE RECIBO</title>
   <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.5/css/materialize.min.css">
   <style>
     .disclaimer{width: 480px; color:#646464;margin:20px auto;padding:0 16px;text-align:center;font:400 12px Roboto,Helvetica,Tahoma,sans-serif}.disclaimer a{color:#009688}#credit{display:none}
   </style>
 </head>
 <body>
 
   <form class="main" id="form" novalidate="novalidate" style="max-width: 480px;margin: 40px auto;">
     <div id="forminner">
       <div class="row">
         <div class="col s12">
           <h5 class="center-align teal-text">REGISTRO DE RECIBO</h5>
           <p class="disclaimer">Rellene todos los campos.</p>
         </div>
       </div>
       <div class="row">
         <div class="input-field col s12">
           <input id="name" type="text" name="name" class="validate" required="" aria-required="true">
           <label for="name">Nombres y Apellidos</label>
         </div>
       </div>
       <div class="row">
         <div class="input-field col s12">
           <input id="pid" type="text" name="pid" class="validate" required="" aria-required="true">
           <label for="pid">Documento de Identidad</label>
         </div>
       </div>
       <div class="row">
         <div class="input-field col s12">
           <input id="email" type="email" name="Email" class="validate" required="" aria-required="true">
           <label for="email">Email</label>
         </div>
       </div>
       <div class="row">
         <div class="input-field col s12">
           <input id="tel" type="tel" name="tel" class="validate" required="" aria-required="true">
           <label for="tel">Teléfono</label>
         </div>
       </div>
       <div class="row">
       <div class="input-field col s12">
       <select id="position" name="position">
           <option value="" disabled selected>Seleccione</option>
           <option value="1">Recibo de pago por 1 Cuota</option>
           <option value="2">Pago de Cuotas en Mora</option>
           <option value="3">Acuerdo de Pago</option>
           <option value="4">Pagar Todo el Crédito</option>
       </select>
       </div>
       </div>
        <div class="row">
         <div class="file-field input-field col s12">
           <div class="btn">
             <span>ADJUNTAR</span>
             <input id="files" type="file">
           </div>
           <div class="file-path-wrapper">
             <input class="file-path validate" type="text" placeholder="Seleccione un archivo en su computadora">
           </div>
         </div>
       </div>
 
       <div class="row">
         <div class="input-field col s6">
           <button class="waves-effect waves-light btn submit-btn" type="submit" onclick="submitForm(); return false;">ENVIAR</button>
         </div>
       </div>
       <div class="row">
         <div class="input-field col s12" id = "progress">
         </div>
       </div>
     </div>
     <div id="success" style="display:none">
       <h5 class="left-align teal-text">Solicitud Registrada</h5>
       <p>Su solicitud ha sido registrada con éxito.</p>
       <p class="center-align"><a  class="btn btn-large" onclick="restartForm()" >INICIO</a></p>
     </div>
   </form>
 
 
   <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.5/js/materialize.min.js"></script>
 
 
   <script>
 
     var file, reader = new FileReader();
 
     reader.onloadend = function(e) {
       if (e.target.error != null) {
         showError("File " + file.name + " could not be read.");
         return;
       } else {
         google.script.run
           .withSuccessHandler(showSuccess)
           .uploadFileToGoogleDrive(e.target.result, file.name, $('input#name').val(),
                   $('input#pid').val(), $('input#email').val(), $('input#tel').val()),
                   $('input#position').val();
       }
     };
 
     function showSuccess(e) {
       if (e === "OK") {
         $('#forminner').hide();
         $('#success').show();
       } else {
         showError(e);
       }
     }
 
     function restartForm() {
     $('#form').trigger("reset");
         $('#forminner').show();
         $('#success').hide();
         $('#progress').html("");
       }
 
     function submitForm() {
 
       var files = $('#files')[0].files;
 
       if (files.length === 0) {
         showError("Please select a file to upload");
         return;
       }
 
       file = files[0];
 
       if (file.size > 1024 * 1024 * 5) {
         showError("The file size should be < 5 MB. ");
         return;
       }
 
       showMessage("Subiendo archivo ...");
 
       reader.readAsDataURL(file);
 
     }
 
     function showError(e) {
       $('#progress').addClass('red-text').html(e);
     }
 
     function showMessage(e) {
       $('#progress').removeClass('red-text').html(e);
     }
 
       $(document).ready(function() {
                                   $('select').material_select();
                         });
 
   </script>
 
 </body>
 
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 7 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Formulario con html y base de datos google SpreadSheet

Publicado por gus (2 intervenciones) el 28/01/2021 01:50:12
alguien pudo hacer este proyecto.
https://www.laishidua.com/es/crear-un-sitio-de-google-con-apps-script/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 7 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Formulario con html y base de datos google SpreadSheet

Publicado por gus (2 intervenciones) el 28/01/2021 03:27:59
1
2
3
4
5
unction saveToSheet(usr, pwd){
 var lock = LockService.getPublicLock();
 lock.waitLock(30000); // wait 30 seconds before conceding defeat.
 try {
 var sheet = SpreadsheetApp.

en el código del ejemplo de la pagina , me mara un error sobre getPublicLock
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Formulario con html y base de datos google SpreadSheet

Publicado por Jefferson (22 intervenciones) el 08/09/2021 02:21:27
Hola

Yo trabajo con Google Sheets y es sumamente sencillo hacer lo que piden.

Mañana trabajaré en un ejemplo algo sencillo de hacer crud con js vanilla y Google Sheets como base de datos.

Luego subiré a el apartado Códigos la explicación completa de como se hace.

Pero creanme que es súper sencillo hacer crud con Google Sheets.

Saludos desde Venezuela
Jefferson Jiménez
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Formulario con html y base de datos google SpreadSheet

Publicado por DANIEL RICARDO (2 intervenciones) el 08/09/2021 02:32:22
Super. Estaré muy atento a lo que nos puedas apoyar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Formulario con html y base de datos google SpreadSheet

Publicado por Jefferson (22 intervenciones) el 08/09/2021 15:44:40
Hola de nuevo

Realice un crud algo sencillo y rápido, lo dejo colgado en https://grupozucol.com/crud-gs/

Solo utilizo Bootstrap v5.0, Vanilla JS y una librería que en lo particular me gusta mucho Vanilla-DataTables https://github.com/Mobius1/Vanilla-DataTables

Es un servidor de un cliente, lo dejare hay por poco tiempo.

Ahora bien, déjenme preparar un tutorial de lo que deben hacer para conseguir lo mismo y de ahí sea un punto de partida para que puedan usar google sheets como base de datos. e Incluso pueden crear formularios directamente en google sheets.

Saludos y espero sea esto lo que estaban buscando.
Desde Venezuela
Jefferson Jiménez
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Formulario con html y base de datos google SpreadSheet

Publicado por Lucas (1 intervención) el 17/09/2021 23:07:39
Hola me interesa el código en lo posible htm para consultar lista de registrados. agradezco aporte y guía ya que tengo muy poco y nada de conocimientos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Formulario con html y base de datos google SpreadSheet

Publicado por Camilo Andrés Muñoz Barragán (4 intervenciones) el 18/09/2021 07:52:10
Gracias Hermano! Justo lo que andaba buscando. Si podrías subir el video explicativo te lo agradeceríamos de todo corazón. Adicionalmente, si al inicio le pudieras agregar un formulario de login, que pida usuario y contraseña para entrar sería genial. El mundo necesita más personas en el mundo como usted hermano! Bendiciones. Espero con a cías ese video.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gabriel Alejandro
Val: 14
Ha aumentado su posición en 7 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Formulario con html y base de datos google SpreadSheet

Publicado por Gabriel Alejandro (4 intervenciones) el 18/09/2021 15:38:28
Muchísimas gracias por tu gran ayuda. El ejemplo que publicaste, es mucho más sencillo de lo que pude ver en algunos tutoriales y hace justo lo que por mucho tiempo buscaba. Espero que pronto puedas publicar el video explicativo. Nuevamente, muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Formulario con html y base de datos google SpreadSheet

Publicado por Jefferson (22 intervenciones) el 19/09/2021 01:44:20
Hola compañeros, juro se me había olvidado este tema

Lo siento mucho.

Bueno realmente no soy de videos, pero si colgare un pdf tutorial con imágenes

Por ser fin de semana no creo hacerlo (ya voy a rumbear y alcoholizarme), si no ha comienzo de semana y aprovecho de colocar un login de autentificación como me lo solicitaron arriba.

También colgare otro pdf con imágenes paso a paso, de como crear un site google, para los que no posean hosting puedan colgar una aplicación web, funcional y gratuita de por vida. Obviamente creándole sus paginas y base de datos Google Sheet

Gracias por los comentarios, me animan a seguir mostrando y enseñando todos los truquitos que he aprendido y diseñado con los años (son muchas las herramientas bajo la manga que puedo enseñar, que otras personas cobrarían por ello. Pero mi filosofía es diferente... Enseñar, enseñar y enseñar)

Saludos estemos pendientes
Desde Venezuela
Jefferson Jiménez
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Formulario con html y base de datos google SpreadSheet

Publicado por Camilo Andrés Muñoz Barragán (4 intervenciones) el 19/09/2021 04:38:02
Que grande hermano! Mi Dios te bendiga. Espero con ansias tus instrucciones para adaptarlo a mi hoja de cálculo.

Te agradecería nos compartieras los códigos así para adaptarlos de una manera más fácil a nuestras hojas de Google Sheets.

https://script.google.com/d/1jsvz9oT01rtkRtzMoPj1ycAr3kq9k5LT06LQY_8OmHiAc-YmD3k7oRzf/edit?usp=sharing

Mil gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Formulario con html y base de datos google SpreadSheet

Publicado por Jefferson (22 intervenciones) el 20/09/2021 22:26:12
Hola de nuevo

Es el mismo link que el anterior https://grupozucol.com/crud-gs/

Lamentablemente no pude hacerlo funcionar con Google Site por el tema de sus políticas de Cookie (las cual uso para el login)

Como nunca lo he hecho (esto del login) me toca estudiar un poco el como maneja Analytics las cookies y poder implementarlas

En la demo coloque un botón que dice Descarga esta demo

Se les descargara en formato zip el código gs (creo que lo explique bien, lamentablemente no soy buen profe, pero hice mi mayor esfuerzo)
Por lo general en mis códigos no comento, por ello digo que me esforcé.

Espero le puedan sacar provecho y lean al pie de la letra todo lo que escribí.

PD: La idea es que no copiemos y peguemos. Por el contrario analicen los códigos (Mi teoría : todos los lenguajes son fáciles, dado que todos se parecen en la lógica, somos nosotros los que aplicamos mal la sintaxis)

Saludos y suerte
Estaré para mas ayuda
Desde Venezuela
Jefferson Jiménez
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Formulario con html y base de datos google SpreadSheet

Publicado por Camilo Andrés Muñoz Barragán (4 intervenciones) el 21/09/2021 02:30:30
Muchas gracias amigo por tu gran aporte y por regalarnos tu tiempo. Lamentablemente estuve intentando ejecutarlo en Google Sheets y no funciona. Aquí comparto el link editable del código y la hoja editable del archivo de google sheets. Te agradecemos de antemano lo puedas editar y hacer funcionar en los links que te comparto.

Link de los códigos para se editados

https://script.google.com/d/1okoROyzi73UpXowbwjOPUz8qU5y4J2SSRRxsNBMoXYTPtWvusTsBjMfy/edit?usp=sharing


Link de la hoja de cálculo editable

https://docs.google.com/spreadsheets/d/1XGZFgfWg_MPKfJ-0y_gZjgr2QGxiEI5E9jgwzUeEkhU/edit?usp=sharing

Muchas gracias por tu aporte y tu tiempo hermano!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Formulario con html y base de datos google SpreadSheet

Publicado por Jefferson (22 intervenciones) el 21/09/2021 05:35:56
Gracias Camilo.

En el tutorial específico bien que el código es js vanilla y es para trabajarlo sobre un hosting propio, en local con xampp y que próximamente lo subiré para tratarlo con Google Site.
Ya que no me toma las cookies pues se declaran diferente a js vanilla e interfieren con Analytics.

Ahora sí le quitamos el login correría sin ningún problema en Site.

Para trabajarlo sobre AppScript Google se usa el lenguaje de GS para tratar el index.html y ya es otra cosa.

En cuanto tenga tiempo preparo un ejemplo sobre esa plataforma, más sin embargo es más de lo mismo, solo cambia algunas cosas.

Si lo pruebas en localhost o un hosting propio, corre sin ningún problema ya que lo escribí para trabajarlo así.

Saludos y cualquier duda estaré al pendiente
Desde Venezuela
Jefferson Jiménez
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Formulario con html y base de datos google SpreadSheet

Publicado por Camilo Andrés Muñoz Barragán (4 intervenciones) el 21/09/2021 18:57:09
Listo Jefferson. Te agradezco hermano. Dices que si le quitamos el Login funciona perfectamente en Google Sheets. Estuve intentando y la verdad no logré quitarle el Login y hacerlo funcionar sin el mismo.

Te agradecería nos pasaras el código funcional sin o con el Login en Google Sheets.

Gracias Jefferson por tu conocimiento y por tu tiempo hermano. Se nota que eres una calidad de ser humano.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Formulario con html y base de datos google SpreadSheet

Publicado por Jefferson (22 intervenciones) el 21/09/2021 21:16:27
No hermano no dije que trabajar en Google Sheets. Dije Google Site son dos cosas totalmente distintas.

Google Sheets utiliza otro lenguaje AppScript GS que solo cambia en ciertas peticiones y/o declaraciones.

Comenté que al tener tiempo escribiría un código adaptado a esa plataforma.

Site se comporta igual que un HTML normal y entiende perfectamente los comando js vanilla, salvó que, el login lo trabajo con cookies y google por su tema Analytics Politics me interfiere.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Formulario con html y base de datos google SpreadSheet

Publicado por Jefferson (22 intervenciones) el 22/09/2021 23:09:46
Hola amigos.

Había dicho que en un tiempo libre escribiría un código para AppScript GS y me dispuse a indagar sobre el tema del login en la web.

Me he conseguido con un blog magnifico que trata el tema a la perfección.

Conozco de Google Sheets y de hecho trabajo con ello a diario, solo que por localhost y/o hosting (no directamente en AppScript)

Y pues nada les dejo la url https://codewithcurt.com/ del blog buenísimo

El trabaja el login de una manera particular, explico:

Crea una hoja donde almacena el inicio de sesión y al cargar la pagina lee si el usuario aun sigue activo o no. Caso false salta el form login, true abre una pagina de agregar registros con la opción de logout. (genial pues no usa cookies, lo malo es que creo almacena la data en la hoja y Google Sheets al tener muchos registros la lectura for each es una odisea, recordemos que sheets no es una base de datos y no posee motores de búsquedas avanzados como plataformas que si los son (Mongo, MySQL, María, etc)

Pero bueno hay les dejo el blog buenísimo para los que quieran tener una app pequeña, sin gastos de hosting, ni dominios...

Saludos y suerte
Desde Venezuela
Jefferson Jimenez
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Formulario con html y base de datos google SpreadSheet

Publicado por Club de Leones Asunción Bo. Gral. Bernardino Caballero (1 intervención) el 30/12/2021 13:12:33
Saludos a todos!

Mi nombre es Luis Sánchez y soy secretario de la Junta Directiva de mi Club de Leones (ONG Internacional de 104 años, y mi Club ya tiene 60). Para simple información de contexto, los Leones nos dedicamos a proveer servicios a aquellas personas más necesitadas y dentro de ese objetivo, en mi Club manejamos una Policlínica (gratuita) donde atendemos a la comunidad mediata.

En ese sentido, tenemos una pequeña base de datos, en Google Sheets, donde consignamos los datos básicos de los pacientes. Recientemente he incursionado en Google Forms ... y acá han empezado mis problemas ...

Las diferentes pestañas ya están creadas, cada una con la información necesaria. He usado listas desplegables para aquellos campos no tan extensos (Especialidad, Tratamiento, Profesional) y que pueden variar -para el mismo paciente) ... Pero no consigo que Forms lea la información ya registrada de los pacientes...

Es decir, mi intención es consignar el número de documento de identidad del paciente (pestaña pacientes), cuando viene a consultar (pestaña y formulario consultas) con alguno de los profesionales, y que en Forms se desplieguen el resto de los datos del mismo (nombres, apellidos, etc).

El objetivo de esto es saber si el paciente ya está registrado y luego completar el resto de la información ... y si el paciente no está registrado (primera consulta), proceder a su registro (sheets, pestaña pacientes) y luego proceder a rellenar la información de la consulta en si misma.

Serían Vds. tan amables de indicarme cómo lograr mis objetivos, por favor?

les dejo los enlaces

Sheets
https://docs.google.com/spreadsheets/d/132gVQbP9RDExz6nhljkuL4EuszZdZ_yUIYB7Evn496o/edit#gid=799645827

Forms
https://docs.google.com/forms/d/164FxI5sjkGJ6GmQNGHI64zuzXMbtCFVAjy9apeGGOWQ/edit

(las listas desplegables son importadas desde sheets, cero stress)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Formulario con html y base de datos google SpreadSheet

Publicado por Jeiner Ruidiaz (1 intervención) el 31/05/2022 21:07:07
Saludos, me gustaria comunicarme contigo, necesito ayuda, podemos cuadrar un pago si lo requieres. mi whatsapp es +573126682278
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Formulario con html y base de datos google SpreadSheet

Publicado por Antonio (1 intervención) el 09/10/2022 08:05:33
Yo estoy viendo el código y está correcto es más él a dejado su enlace a su Google driver. Una observación para todos aquellos que no saben de programación y más en GAS (Google app script), si están copiando del vídeo todo el código nunca les va a funcionar, el está programando dentro de su hoja llamado por Google "spreapsheets" y si estás copiando el código, estás codificando llamando a su Libro lo cual no tienes permiso. En el Main.gs hay una línea de código que dice spreadsheetapp.openById("ID del libro") ahí esta diciendo que abra el libro y el ID del libro que deben poner es de Uds. Y no copiarlo.

Lamentablemente hablan sin saber de GAS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar