JSL: defina variables basadas en la entrada del usuario a través de una ventana emergenteHola,
Me gustaría crear una ventana emergente que permita al usuario definir variables sin acceder al código. Logré que apareciera la ventana emergente para obtener las entradas del usuario basadas en publicaciones anteriores, pero no pude pasarlo a las variables.
¿Podrías ayudarme con esto por favor?
Gracias de antemano
// Indicate here the name of the input HTML table
input_table = "http://xxx.html";
// Indicate here the name you want for your JMP data table
JMP_table_name = "JMP data table";
w = New Window( "User inputs", // opens a window with a title and this content...
Border Box( top( 20 ), bottom( 20 ), Left( 20 ), Right( 20 ), // window dressing
V List Box( // V and H lists nest to organize the display boxes
H Center Box( Text Box( "Report Generator" ) ), // a second title, centered
Spacer Box( size( 1, 30 ) ), // a little vertical space
H List Box( Text Box( "input_table: " ), input_table=Text Edit Box("http://xxx.html") ), // data entry
Spacer Box( size( 1, 30 ) ), // a little vertical space
H List Box( Text Box( "JMP_table_name: " ), JMP_table_name=Text Edit Box("JMP data table") ), // more data entry
Spacer Box( size( 1, 30 ) ), // a little vertical space
H Center Box( // center the button
Button Box( "Submit", // this script runs when the button is pressed...
input_table = result["input_table"];
JMP_table_name = result["JMP_table_name"];
w << closeWindow; // close the dialog
)
)
)
)
);ScriptingRe: JSL: defina variables basadas en la entrada del usuario a través de una ventana emergenteHay un par de problemas con su guión.La primera, es que está cambiando el tipo de datos de las variables Input_table y JMP_table_name.Empiece por definirlos como cadenas de caracteres, pero luego los redefine como campos de visualización.
En segundo lugar, solo porque JMP está abriendo una ventana, no detiene el procesamiento de JSL y espera la entrada del usuario.JMP simplemente continuará procesando, a menos que la ventana esté definida como una ventana modal. Vea mi modificación de su secuencia de comandos a continuación.Le sugiero encarecidamente que se tome el tiempo necesario para leer la Guía de secuencias de comandos.
// Indicate here the name of the input HTML table
input_table = "http://xxx.html";
// Indicate here the name you want for your JMP data table
JMP_table_name = "JMP data table";
w = New Window( "User inputs", <<MODAL></MODAL>
Re: JSL: defina variables basadas en la entrada del usuario a través de una ventana emergente¡Muchas gracias!
Gracias también por explicar los errores que cometí; esto definitivamente me ayudará a superarlo en el futuro.
¡Que tenga un buen día!
Re: JSL: defina variables basadas en la entrada del usuario a través de una ventana emergenteHola,
Salté a un problema adicional.
Logré abrir la ventana modal y pasé las nuevas definiciones de variables dentro del script para input_table y el nombre de JMP_table.
Continuando con la variable veo que se actualizó correctamente.
Luego, se supone que el resto de mi script realiza acciones, como abrir la tabla especificada por el usuario (fuera del botón), pero no se ejecuta.
Intenté poner todo el script en la ventana modal, también intenté agregar un wait () pero esto no ayuda.
Si ejecuto el script sin la ventana modal, funciona bien, por lo que el problema definitivamente viene de allí.
Alguna idea de como resolver esto?
Aquí está el código.
// Initialize variables with default values
// Number of input data tables (default = 1)
nb_join_tables = 2;
//links to the input HTML tables
input_table_01 = "http://xxx.html";
input_table_02 = "http://xxx.html";
//Create a pop up window to request user inputs for the variables
w = New Window( "User inputs", <<MODAL></MODAL>
Re: JSL: Definir variables basadas en la entrada del usuario a través de una ventana emergenteEncontré la solución. Usé un "Cuadro de edición de texto" y "Obtener texto" para un valor numérico. Modifiqué a "Cuadro de edición de número" y "Obtener" y funciona.:
// Initialize variables with default values
// Number of input data tables (default = 1)
nb_join_tables = 2;
//links to the input HTML tables
input_table_01 = "http://xxx.html";
input_table_02 = "http://xxx.html";
//Create a pop up window to request user inputs for the variables
w = New Window( "User inputs", <<MODAL></MODAL>