JSL: Definieren Sie Variablen basierend auf der Benutzereingabe über ein Popup-FensterHallo,
Ich möchte ein Popup-Fenster erstellen, das es dem Benutzer ermöglicht, Variablen zu definieren, ohne auf den Code zuzugreifen. Ich habe es geschafft, das Popup zu erhalten, um die Benutzereinträge basierend auf früheren Beiträgen abzurufen, konnte es jedoch nicht an die Variablen übergeben.
Könnten Sie mir bitte dabei helfen?
Danke im Voraus
// 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
)
)
)
)
);SkriptingBetreff: JSL: Definieren Sie Variablen basierend auf der Benutzereingabe über ein Popup-FensterEs gibt ein paar Probleme mit Ihrem Skript.Die erste besteht darin, dass Sie den Datentyp der Variablen Input_table und JMP_table_name ändern.Sie beginnen mit dann als Zeichenketten definiert, definieren sie dann aber als Anzeigefelder neu.
Zweitens, nur weil JMP ein Fenster öffnet, wird die JSL-Verarbeitung nicht gestoppt und auf die Benutzereingabe gewartet.JMP wird die Verarbeitung einfach fortsetzen, es sei denn, das Fenster ist als modales Fenster definiert. Siehe meine Modifikation Ihres Skripts unten.Ich empfehle Ihnen dringend, sich die Zeit zu nehmen, den Scripting Guide zu lesen.
// 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>
Betreff: JSL: Definieren Sie Variablen basierend auf der Benutzereingabe über ein Popup-FensterVielen Dank!
Danke auch für die Erklärung der Fehler, die ich gemacht habe; das wird mir in Zukunft auf jeden Fall weiterhelfen.
Haben Sie einen guten Tag!
Betreff: JSL: Definieren Sie Variablen basierend auf der Benutzereingabe über ein Popup-FensterHallo,
Ich sprang in ein zusätzliches Problem.
Ich habe es geschafft, das modale Fenster zu öffnen und die neuen Variablendefinitionen innerhalb des Skripts für die input_table und den JMP_table-Namen zu übergeben.
Wenn ich auf die Variable gehe, sehe ich, dass sie korrekt aktualisiert wurde.
Dann soll der Rest meines Skripts Aktionen ausführen, z. B. das Öffnen der vom Benutzer angegebenen Tabelle (außerhalb der Schaltfläche), aber es wird nicht ausgeführt.
Ich habe versucht, das gesamte Skript in das modale Fenster einzufügen, ich habe auch versucht, ein wait () hinzuzufügen, aber das hilft nicht.
Wenn ich das Skript ohne das modale Fenster ausführe, funktioniert es einwandfrei, sodass das Problem definitiv von dort kommt.
Irgendeine Idee, wie man das lösen kann?
Hier ist der Code.
// 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>
Betreff: JSL: Definieren Sie Variablen basierend auf Benutzereingaben über ein Popup-FensterIch habe die Lösung gefunden. Ich habe ein "Text Edit Box" und ein "Get Text" für einen numerischen Wert verwendet. Ich habe in "Number Edit Box" und To "Get" geändert und es funktioniert.:
// 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>