Wert aus vorherigem formularfeld übernehmen
Hallo Leute, ich habe ein Formularfeld, in dem ich in ein Formularfeld ein Datum eintrage.
Genau dieses Datum möchte ich sofort weiter unten in einem anderen Formularfeld auch eingetragen haben, wie kann ich das machen, ohne vorher etwas verschicken zu mussen?
Ich kann es nicht einfach beides in ein MySQL Feld speichern, da ich den Wert evtl. noch editieren möchte.
Kann mir jemand helfen?
Vielen Dank.
Grüße Rocky
Genau dieses Datum möchte ich sofort weiter unten in einem anderen Formularfeld auch eingetragen haben, wie kann ich das machen, ohne vorher etwas verschicken zu mussen?
Ich kann es nicht einfach beides in ein MySQL Feld speichern, da ich den Wert evtl. noch editieren möchte.
Kann mir jemand helfen?
Vielen Dank.
Grüße Rocky
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 160181
Url: https://administrator.de/contentid/160181
Ausgedruckt am: 19.11.2024 um 20:11 Uhr
8 Kommentare
Neuester Kommentar
Hi Rocky112,
du schreibst einfach eine Funktion, die den Wert von Quelle (src) dem Ziel (dest) zuweist.
Mit document.getElementById(string 'ID_des_Elements') findest du das entsprechende
Element, die Eigenschaft, die du lesen oder ändern möchtest, hängst du mit einem Punkt an.
Das Event onblur reagiert, wenn das entspr. Element seinen Fokus verliert und ruft dann
die Funktion auf. Das übergebene Argument this, siehe Formular, ist ein Zeiger auf das
Element selber.
Gruß
Günni
PS.: Entspr. Lesematerial ist sehr wichtig, da bei Java die korrekte Schreibweise eingehalten muß.
Auch die Bezeichnung von Eigenschaften ist in CSS und Java verschieden.
du schreibst einfach eine Funktion, die den Wert von Quelle (src) dem Ziel (dest) zuweist.
Mit document.getElementById(string 'ID_des_Elements') findest du das entsprechende
Element, die Eigenschaft, die du lesen oder ändern möchtest, hängst du mit einem Punkt an.
Das Event onblur reagiert, wenn das entspr. Element seinen Fokus verliert und ruft dann
die Funktion auf. Das übergebene Argument this, siehe Formular, ist ein Zeiger auf das
Element selber.
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
<!--
function copy_value(src,dest){
document.getElementById(dest).value=src.value;
}
// -->
</script>
</head>
<body>
<form action="" method="post">
<input type="text" name="date1" id="input1" onblur="copy_value(this,'input2')">
<input type="text" name="date2" id="input2">
</from>
</body>
</html>
Gruß
Günni
PS.: Entspr. Lesematerial ist sehr wichtig, da bei Java die korrekte Schreibweise eingehalten muß.
Auch die Bezeichnung von Eigenschaften ist in CSS und Java verschieden.
Hi Rocky112,
ist vom Prinzip her das Gleiche, nur muß die Funktion dann immer aufgerufen werden, wenn
eins der 3 Textfelder geändert wurde.
Du holst dir in der Funktion einfach wieder mit document.getElementById die Werte
der Textfelder tag, monat, jahr. Dann setzt du die Werte einfach mit + und dem Punkt
in Anführungszeichen dazwischen zusammen und weist dem Textfeld datum dann den String zu.
Gruß
Günni
PS.: Wenn wir schon dabei sind . . .
Wenn das einzugebene Datum immer (oder fast immer) das aktuelle Tagesdatum sein wird,
so kannst du die Felder auch beim Laden der Seite automatisch füllen. Dazu brauchst du dann
eine weitere Funktion, die das beim Laden der Seite erledigt. Und ändern kann man ja das Datum
immer noch.
ist vom Prinzip her das Gleiche, nur muß die Funktion dann immer aufgerufen werden, wenn
eins der 3 Textfelder geändert wurde.
Du holst dir in der Funktion einfach wieder mit document.getElementById die Werte
der Textfelder tag, monat, jahr. Dann setzt du die Werte einfach mit + und dem Punkt
in Anführungszeichen dazwischen zusammen und weist dem Textfeld datum dann den String zu.
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
<!--
function copy_value(dest){
var tag=document.getElementById('tag').value;
var monat=document.getElementById('monat').value;
var jahr=document.getElementById('jahr').value;
var datum=tag + "." + monat + "." + jahr;
document.getElementById(dest).value=datum;
}
// -->
</script>
</head>
<body>
<form action="" method="post">
Tag <input type="text" name="tag" id="tag" onblur="copy_value('datum')">
Monat <input type="text" name="monat" id="monat" onblur="copy_value('datum')">
Jahr <input type="text" name="jahr" id="jahr" onblur="copy_value('datum')">
Datum <input type="text" name="datum" id="datum">
</from>
</body>
</html>
Gruß
Günni
PS.: Wenn wir schon dabei sind . . .
Wenn das einzugebene Datum immer (oder fast immer) das aktuelle Tagesdatum sein wird,
so kannst du die Felder auch beim Laden der Seite automatisch füllen. Dazu brauchst du dann
eine weitere Funktion, die das beim Laden der Seite erledigt. Und ändern kann man ja das Datum
immer noch.
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
<!--
function init_datum(){
var heute=new Date();
var tag=heute.getDate();
var monat=heute.getMonth()+1;
if(tag < 10){tag="0"+tag;}
if(monat < 10){monat="0"+monat;}
document.getElementById('tag').value=tag;
document.getElementById('monat').value=monat;
document.getElementById('jahr').value=heute.getFullYear();
copy_value('datum');
}
function copy_value(dest){
var tag=document.getElementById('tag').value;
var monat=document.getElementById('monat').value;
if(tag.length < 2 ){tag="0"+tag;}
if(monat.length < 2 ){monat="0"+monat;}
var jahr=document.getElementById('jahr').value;
var datum=tag + "." + monat + "." + jahr;
document.getElementById(dest).value=datum;
}
// -->
</script>
</head>
<body onload="init_datum()">
<form action="" method="post">
Tag <input type="text" name="tag" id="tag" onblur="copy_value('datum')">
Monat <input type="text" name="monat" id="monat" onblur="copy_value('datum')">
Jahr <input type="text" name="jahr" id="jahr" onblur="copy_value('datum')">
Datum <input type="text" name="datum" id="datum">
</from>
</body>
</html>
Hi rocky,
Also jetzt müsstest du es aber langsam blicken. Du brauchst doch nur innerhalb der Funktion mittels
document.getElementById('ID_des_Textfelds').value=Wert den Wert in ein zweites Textfeld zu kopieren.
OnBlur ist keine Funktion, sondern ein sog. Eventhandler, dem man eine Funktion "quasi" zuweisen kann. OnBlur ist ein Eventhandler der reagiert,
sobald ein Element den Fokus verliert. Bei Veränderung müsstest du den Eventhandler OnChange mit einer Funktion belegen.
Ich hatte dir ja schon geschrieben, zu JavaScript ist Lektüre Pflicht, ohne du kommst ohne nicht weit. Zu Eventhandlern siehe
z.B.: ==> http://de.selfhtml.org/javascript/sprache/eventhandler.htm
Und wenn du Element-Eigenschaften (Rahmenfarbe) mittels JavaScript lesen bzw. ändern möchtest, so musst du die JavaScript-Eigene Syntax für
diese Eigenschaften verwenden. Siehe z.B.: http://de.selfhtml.org/javascript/objekte/style.htm
Ein Beispiel noch . . .
Ein Formular-Textfeld, wenn das Feld den Fokus erhält (anklicken) ändern sich Rahmen- und Hintergrundfarbe.
. . . und dann erwarte ich ein bißchen Eigeninitiative. Ich kann dir nicht für jede Anforderung den Code "vorkauen". Ein bißchen was musst du auch selber beitragen.
Gruß
Günni
. . . ich habe noch ein formularfeld "datum2", welches den gleichen wert bekommen soll. wie kriege ich das hin? . . .
Also jetzt müsstest du es aber langsam blicken. Du brauchst doch nur innerhalb der Funktion mittels
document.getElementById('ID_des_Textfelds').value=Wert den Wert in ein zweites Textfeld zu kopieren.
. . . außerdem habe ich gelesen, dass ich mit dieser onblur funktion auch formularfelder grün umrahmen kann, sobald etwas eingetragen ist. . . .
OnBlur ist keine Funktion, sondern ein sog. Eventhandler, dem man eine Funktion "quasi" zuweisen kann. OnBlur ist ein Eventhandler der reagiert,
sobald ein Element den Fokus verliert. Bei Veränderung müsstest du den Eventhandler OnChange mit einer Funktion belegen.
Ich hatte dir ja schon geschrieben, zu JavaScript ist Lektüre Pflicht, ohne du kommst ohne nicht weit. Zu Eventhandlern siehe
z.B.: ==> http://de.selfhtml.org/javascript/sprache/eventhandler.htm
Und wenn du Element-Eigenschaften (Rahmenfarbe) mittels JavaScript lesen bzw. ändern möchtest, so musst du die JavaScript-Eigene Syntax für
diese Eigenschaften verwenden. Siehe z.B.: http://de.selfhtml.org/javascript/objekte/style.htm
Ein Beispiel noch . . .
Ein Formular-Textfeld, wenn das Feld den Fokus erhält (anklicken) ändern sich Rahmen- und Hintergrundfarbe.
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
<!--
function changeBorderColor(obj){
obj.style.borderColor="#ff0000";
obj.style.backgroundColor="#00aa00";
}
// -->
</script>
</head>
<body>
<form action="" method="">
<input type="text" name="textfeld" onfocus="changeBorderColor(this)" />
</form>
</body>
</html>
. . . und dann erwarte ich ein bißchen Eigeninitiative. Ich kann dir nicht für jede Anforderung den Code "vorkauen". Ein bißchen was musst du auch selber beitragen.
Gruß
Günni