Code für howto:text2form

howto:text2form:static

Eine "statische" Version von text2form

 

text2form

  • (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

 


Google Search