Eine "statische" Version von text2form
Table of contents
- (am besten rechts neben dem Formularfeld) ein Textfeld und eine id (z.B. t2f_textfield) vergeben anlegen
- JavaScript,(kann man aber auch serverseitig lösen)
- den Inhalt aus dem Textfeld auslesen und in eine Funktion (t2f_function), entweder per button oder bei onkeyup auf dem Textfeld, übergeben. (z.B. t2f_function(document.getElementById('t2f_textfield').value))
- Den Komplettstring auf Umbrüche aufteilen text.split("\n") ; evtl auch an \b
- dann mit einer Schleife oder handadressiert auf die id=s der ''input's verteilen.
function t2f_function (textfield) {
var formelement = textfield.split("\n") ;
document.getElementById('vorname').value = formelement[0] ;
document.getElementById('nachname').value = formelement[1] ;
Leer Felder ausblenden
Nur die Array-Feldkombinationen bearbeiten die auch einen Inhalt haben.
if ( formelement[0] !== undefined ) { document.getElementById('vorname').value = formelement[0] ; }
if ( formelement[1] !== undefined ) { document.getElementById('nachname').value = formelement[1] ; }
Geht auch ohne, aber dann wird immer alles berechnet und ein undefined angezeigt.
Regenbogen-Hintergrund
Zur einfachen Orientierung kann man mit einem Farbcode die Zeilen des Textfelds den entsprechenden Formularfelder zuordne,
- den einzelnen inputs Farbe per css zuweisen und die Border eher auf 1px drehen
- Screenshot des Formularfelds und diesen als Hintergrund für die textarea zuschneiden.
- line height und (absolute) Schriftgrößen auf beiden synchronisieren (gern per css)
Regexp
Erst mal soll nur die einzelne copy&paste Arbeit erleichtert werden, aber mit Regexp kann man einigen überflüssige Wörter und Zeichen schon mal entfernen. So kann man aus der Zeile ( Tel: 089 123456 das Tel: entfernen).
document.getElementById('telefon').value = formelement[6].replace(/(>|T|t|e|l|f|o|n|P|p|h|\.|:| )* /, "" ) ; // Wörter und Abkuerzungen wie Telephon, Tel, phone
document.getElementById('mail').value = formelement[9].replace(/^(.*) /, "" ) ; // alles vor dem ersten leerzeichen