Vorlagen einfügen

lano

Aktives Mitglied
Moin.

Ich hätte gern sone Select Box wo ich Text Vorlagen auswählen kann.
Dann nen Button der den Text in eine Textarea einfügt.

Text Vorlage bekomm ich noch hin.
Button wohl auch.

Aber dazwischen wohl nicht.
Wie frag ich denn ab welche option gewählt wurde ?


edit:

kleine Planänderung:
HTML:
<center>
    <input type="text" list="vorlagen" />
    <datalist id="vorlagen">
        <option>Readme</option>
        <option>HelpPage</option>
        <option>Manpage</option>
        <option>Wiki</option>
    </datalist>
    <button type="submit" class="button button1" onclick=""><b>Load</b></button>
</center>

Ich wollt das nu so machen.
 
Zuletzt bearbeitet:
Was ist jetzt noch genau dein restliches Problem bzw. deine Fragestellung? :D

Wenn du <datalist> verwendest, sollte der Wert der Auswahl (also Readme, Wiki, etc.) dann im Input auftauchen.
Im Grunde sollte das Abfragen des value-Attributs (inputElement.value) also ausreichen, um die ausgewählte Textvorlage zu erfahren.
 
Was ist jetzt noch genau dein restliches Problem bzw. deine Fragestellung? :D

Ja... Hmm. :unsure: :rolleyes:

Ich hab das jetzt formschön so:
Javascript:
        <section class="section">
            <div class="container">
                <h2 class="title is-3 has-text-centered">
                    Vorlagen
                </h2>
                <center>
                <input type="text" id="vorlagen" list="vorlage" />
                <datalist id="vorlage">
                  <option>Readme</option>
                  <option>HelpPage</option>
                  <option>Manpage</option>
                  <option>Wiki</option>
                </datalist>
                <button type="submit" class="button button1" onclick="loadVorlage();"><b>Load</b></button>
                </center>
            </div>
        </section>

<script>
function loadVorlage() {

var readme = `
# Foobar

Foobar is a Python library for dealing with word pluralization.

## Installation

Use the package manager [pip](https://pip.pypa.io/en/stable/) to install foobar.

\`\`\`bash
pip install foobar
\`\`\`

## Usage

\`\`\`python
import foobar

foobar.pluralize('word') # returns 'words'
foobar.pluralize('goose') # returns 'geese'
foobar.singularize('phenomena') # returns 'phenomenon'
\`\`\`

## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

## License
[MIT](https://choosealicense.com/licenses/mit/)
`;

var helppage = `
  <div>
    <span>Some HTML here</span>
  </div>
`;

var manpage = `
  <div>
    <span>Some HTML here</span>
  </div>
`;

var wikipage = `
  <div>
    <span>Some HTML here</span>
  </div>
`;


    var vorlage = document.getElementById('vorlagen').value
    if (vorlage == "Readme") {
        document.getElementById("textarea").innerHTML = readme;
    }

    if (vorlage == "HelpPage") {
        document.getElementById("textarea").innerHTML = helppage;
    }

    if (vorlage == "Manpage") {
        document.getElementById("textarea").innerHTML = manpage;
    }

    if (vorlage == "Wiki") {
        document.getElementById("textarea").innerHTML = wikipage;
    }

}
</script>

Ich war zwischenzeitlich auf der suche nach sowas wie __HERE__ allerdings überlege ich ob ich die Vorlagen nicht in eine extra Datei packe und die dann lade. Erscheint mir leichter zu erweitern zu sein.

Aber... wo du ja vor langer weile zu strahlen scheinst... :LOL:
Ich hab da noch nen anderes Problem.
Das Problem ist das zum rendern auf nen loslassen der Taste gewartet wird und man ein zeichen hinzufügen muss das sich die größe wieder anpasst. Jetzt frag ich mich ob man das nicht auch irgendwie hin bekommt. Ich kann dir aber noch nicht mal sagen was der beim tastendruck, bzw loslassen überhaupt macht. :(
 
Ich war zwischenzeitlich auf der suche nach sowas wie __HERE__ allerdings überlege ich ob ich die Vorlagen nicht in eine extra Datei packe und die dann lade. Erscheint mir leichter zu erweitern zu sein.

Das hört sich nach einer guten Idee an.

Ich hab da noch nen anderes Problem.
Das Problem ist das zum rendern auf nen loslassen der Taste gewartet wird und man ein zeichen hinzufügen muss das sich die größe wieder anpasst. Jetzt frag ich mich ob man das nicht auch irgendwie hin bekommt. Ich kann dir aber noch nicht mal sagen was der beim tastendruck, bzw loslassen überhaupt macht. :(

Die Lösung hierzu wäre vermutlich, nach dem Ändern des Textinhalts der Textarea ein Event auszulösen, das dafür sorgt, dass deine autosize-Bibliothek darauf anspringt. Da autosize per input-Event zuhört, kannst du ungefähr Folgendes machen:

Javascript:
// content change
textarea.value = 'testvorlage';

// create and dispatch input event
textarea.dispatchEvent(new Event('input'));
 
Zurück
Oben Unten