replace() funktioniert nicht ganz

sebdev

Mitglied
Hallo zusammen habe ein Script geschrieben das einen text aus dem input feld formatiert in ein anderes inputfeld einfügt,
mein Problem ist wenn ich Mein erster Test eingebe kommt das heraus : Mein-erster Test
Ich möchte gerne das jedes leerzeichen gegen ein minus ersetzt werden soll
Kann mir einer helfen?
Javascript:
function pruf(str) {
  for (var i = 0; i < str.length; i++) {
    text = str.replace(" ", "-");
    document.getElementById("test").value = text;
  }
}
HTML:
<form>
  <label for="">Dein Titel</label><br><br>
<input type="text" name="" value="" id="text123" oninput="pruf(this.value);"><br><br><br>
  <label for="">Deine Url zum Artikel</label><br><br>
<input type="text" name="" value="" id="test" oninput="pruf(this.value);"><br>
</form>
 
Habe noch eine Frage, wie kann ich die letzen Lerrzeichen die zu - geändert werden entfernen?
also Test-Beitrag--- zu Test-Beitrag
 
Allerdings kann ich jetz im zweiten inputfeld kein leerzeichen eigeben um ein neues wort zuschreiben.
Gibt es da auch eine Lösung für?
 
Versuche dies:
Code:
    function pruf(str) {
        text = str.replace(/ /g, "-").replace(/([^-]+)-+$/, "$1");
        document.getElementById("test").value = text;
    }
(Die Schleife ist durch die Verwendund von replace überflüssig geworden)
 
Zurück