JSL: Definieren Sie Variablen basierend auf Benutzereingaben ü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 öffnen, um die Benutzereinträge basierend auf früheren Beiträgen abzurufen, konnte es aber nicht an die Variablen übergeben.
Könnten Sie mir bitte dabei helfen?
Vielen Dank 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
)
)
)
)
);Erweiterte statistische ModellierungDatenzugriffBetreff: JSL: Definieren Sie Variablen basierend auf Benutzereingaben über ein Popup-FensterIch habe die Lösung gefunden. Ich habe ein „Textbearbeitungsfeld“ und ein „Get Text“ für einen numerischen Wert verwendet. Ich habe auf „Number Edit Box“ und „Get“ umgestellt 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>
Betreff: JSL: Definieren Sie Variablen basierend auf Benutzereingaben über ein Popup-FensterHallo,
Ich bin auf ein zusätzliches Problem gesprungen.
Es ist mir gelungen, das modale Fenster zu öffnen und die neuen Variablendefinitionen innerhalb des Skripts für die Eingabetabelle und den Namen der JMP-Tabelle 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), wird jedoch 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 hat nicht geholfen.
Wenn ich das Skript ohne das modale Fenster ausführe, funktioniert es einwandfrei, das Problem kommt also definitiv von dort.
Irgendeine Idee, wie man das löst?
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-FensterVielen Dank!
Vielen Dank 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 Benutzereingaben ü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 der Definition als Zeichenfolgen, definieren diese dann aber als Anzeigefelder neu.
Zweitens: Nur weil JMP ein Fenster öffnet, stoppt es nicht die JSL-Verarbeitung und wartet auf die Benutzereingabe.JMP wird die Verarbeitung einfach fortsetzen, es sei denn, das Fenster ist als modales Fenster definiert. Siehe meine Änderung 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>