JirkaDellOro / FUDGE_Story

A FUDGE module for the easy development of interactive stories, visual novels and simple adventure games
https://jirkadelloro.github.io/FUDGE_Story/
7 stars 9 forks source link

Form with multiple inputs #45

Open Aam-Do opened 1 year ago

Aam-Do commented 1 year ago

Wie kann ich ein Formular in eine Szene setzen (z.B. als novel page = Text) mit verschiedenen Inputs (nicht nur Buttons sondern Textinputs, Select, etc), auf dessen Submit warten und dann das Formular validieren und auswerten?

JirkaDellOro commented 1 year ago

Das kann man wahrscheinlich am besten mit Standard-Funktionalität umsetzen, ohne spezielle FudgeStory-Methoden.

Zum Testen habe ich den Dialog einfach in der HTML-Datei definiert.

    <dialog id="test">
      Test Dialog
      <button type="button">submit</button>
    </dialog>

Um Code öffne ich den Dialog, suche den Button und definiere eine Promise, die sich erfüllt, wenn der Button geklickt wird. Dann warte ich darauf und schließe am Ende den Dialog.

    let testDialog: HTMLDialogElement = document.querySelector("dialog#test");
    testDialog.showModal();
    await new Promise((_resolve) => {
      testDialog.querySelector("button").addEventListener("click", _resolve)
    });
    testDialog.close();