Forenindex » Programmierung/Entwicklung » JavaScript » Nach reset Formularfeld wieder vorbelegen

Nach reset Formularfeld wieder vorbelegen

Anonym
Beiträge gesamt: 22827

10. Feb 2005, 16:11
Bewertung:

gelesen: 2066

Beitrag als Lesezeichen
 
Hallo Könner,

mit meinem Latein bin ich wieder einmal am Ende!
Ich habe im unten stehenden Formular ein Cookie ausgelesen, das nach einem reset onreset="return einfueg() wieder in das readonly-Feld "Kontakt_Angebotsnummer" eingesetzt werden soll.
Das alert-Ergebnis zeigt, dass es (fast) funktioniert. Leider bleibt der Eintrag nicht im Feld. Anscheinend wird der Reset erst nach Aufruf der Funktion einfueg() duchgeführt. Man kann natürlich die Möglichkeit des Resets weglassen. Trotzdem ärgert es mich, dass ich keine Lösung finde. Deshalb meine Frage: "Wie kann man's realisieren?"

Gruß und Dank Werner



<HTML>
<HEAD>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<meta http-equiv="Content-Language" content="de">

<script language="JavaScript"><!--
document.cookie="test" /* wird in realiter ausgelesen!*/
function einfueg()
{
alert(document.FrontPage_Form1.Kontakt_Angebotsnummer.value=document.cookie);
}
//--></script>

</HEAD>

<BODY bgcolor="#CDD2E0">
<P>
<b><font size="1" face="Verdana">Kontaktinfos zum Objekt<font color="#FF0000">

<script language="JavaScript"><!--
document.write(document.cookie);
//--></script>

</font></font></b></P>
<FORM METHOD="POST" ACTION="mailto" enctype="text/plain" onsubmit="return FrontPage_Form1_Validator(this)" onreset="return einfueg()" language="JavaScript" name="FrontPage_Form1">
<P>
<b><font size="1" face="Verdana">Bitte geben Sie die folgenden Kontaktinformationen ein:</font></b></P>
<table id="table1" width="331">
<tr>
<td ALIGN="right"><b><font face="Verdana" size="1">
<em style="font-style: normal">Angebotsnummer</em></font></b></td>
<td width="129"><input TYPE="TEXT" NAME="Kontakt_Angebotsnummer" value="" SIZE="4" readonly>

<script language="JavaScript"><!--
document.FrontPage_Form1.Kontakt_Angebotsnummer.value=document.cookie;
--></script>
</td>
</tr>
</table>
<BLOCKQUOTE>
<TABLE>
<TR>
<TD ALIGN="right" width="107">
<b><font face="Verdana" size="1">
<EM style="font-style: normal">Vorname</EM></font></b></TD>
<TD>
&nbsp;<!--webbot bot="Validation" s-data-type="String" b-allow-letters="TRUE" b-allow-whitespace="TRUE" b-value-required="TRUE" i-minimum-length="1" --><INPUT NAME="Kontakt_Vorname" SIZE=25>
</td>
</tr>
</table>
</BLOCKQUOTE>
<INPUT TYPE=SUBMIT VALUE="Formular abschicken">
<INPUT TYPE=RESET VALUE="Formular zurücksetzen" >
</FORM>


</BODY>
</HTML>

Nach reset Formularfeld wieder vorbelegen

oesi50
  
Beiträge gesamt: 2315

10. Feb 2005, 17:24
Bewertung:

gelesen: 2066

Beitrag als Lesezeichen
Hallo Anonym,

dazu braucht's keine Könner und kein Javascript

probier mal aus

<form>
<input value="Vorbelegung">
<input type="reset">
</form>

Schreibe dann was in dieses Formular und klicke "reset". Anschließend berichtest du hier, was passiert ist.

PS.: mit document.write läßt sich auch einiges machen.

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)

(Dieser Beitrag wurde von oesi50 am 10. Feb 2005, 17:26 geändert)

Nach reset Formularfeld wieder vorbelegen

webra
Beiträge gesamt: 4

10. Feb 2005, 22:57
Bewertung:

gelesen: 2066

Beitrag als Lesezeichen
Hallo oesi50,

Mensch das geht aber fix mit einer Antwort! Danke! Leider ist das Problem nicht so einfach. Das mit der Vorbelegung war mir schon klar. Leider funktioniert das in meinem Fall nicht. Die Variable (document.cookie) muss sozusagen von außerhalb des form-Bereiches nach einem reset wieder in das Formularfeld. Du kannst das Problem sehr einfach nachvollziehen, indem du das gesamte script als html-Datei abspeicherst und aufrufst.

Gruß Werner

Nach reset Formularfeld wieder vorbelegen

oesi50
  
Beiträge gesamt: 2315

10. Feb 2005, 23:43
Bewertung:

gelesen: 2066

Beitrag als Lesezeichen
doch das ist ein einfaches Problem.

das Value-Feld wird mit document.write geschrieben und fertig.

so:
<HTML>
<HEAD>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<meta http-equiv="Content-Language" content="de">
<script language="JavaScript" type="text/javascript"><!--
document.cookie="test" /* wird in realiter ausgelesen!*/
//-->
</script>
</HEAD>
<BODY bgcolor="#CDD2E0">
<P>
<b><font size="1" face="Verdana">Kontaktinfos zum Objekt<font color="#FF0000">
<script language="JavaScript" type="text/javascript"><!--
document.write(document.cookie);
//-->
</script>
</font></font></b></P>
<FORM METHOD="POST" ACTION="mailto" enctype="text/plain" onsubmit="return FrontPage_Form1_Validator(this)" name="FrontPage_Form1">
<P>
<b><font size="1" face="Verdana">Bitte geben Sie die folgenden Kontaktinformationen ein:</font></b></P>
<table id="table1" width="331">
<tr>
<td ALIGN="right"><b><font face="Verdana" size="1">
<em style="font-style: normal">Angebotsnummer</em></font></b></td>
<script language="JavaScript" type="text/javascript"><!--
document.write('<td width="129"><input TYPE="TEXT" NAME="Kontakt_Angebotsnummer" value="' + document.cookie + '" SIZE="4" readonly>');
//-->
</script>
</td>
</tr>
</table>
<BLOCKQUOTE>
<TABLE>
<TR>
<TD ALIGN="right" width="107">
<b><font face="Verdana" size="1">
<EM style="font-style: normal">Vorname</EM></font></b></TD>
<TD>
&nbsp;
<!--webbot bot="Validation" s-data-type="String" b-allow-letters="TRUE" b-allow-whitespace="TRUE" b-value-required="TRUE" i-minimum-length="1" -->
<INPUT NAME="Kontakt_Vorname" SIZE=25>
</td>
</tr>
</table>
</BLOCKQUOTE>
<INPUT TYPE=SUBMIT VALUE="Formular abschicken">
<INPUT TYPE=RESET VALUE="Formular zurücksetzen" >
</FORM>
</BODY>
</HTML>


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)

Nach reset Formularfeld wieder vorbelegen

webra
Beiträge gesamt: 4

11. Feb 2005, 12:26
Bewertung:

gelesen: 2066

Beitrag als Lesezeichen
Hallo Oesi,

mein Wissen über Javascript ist anscheinend - trotz Literaturstudium - noch auf dem Stand eines Anfängers. Ich weiß jetzt, dass ich nichts weiß ... Mir war bisher nicht bewusst, dass man so eine Menge an Daten mit document.write und der trickreicher Hilfe von Anführungszeichen übergeben kann. Einfach toll! Ein dickes Lob an dich! Wo findet man solche speziellen Dinge? Ist es Intuition, die richtige Literatur oder das (gefundene) Wissen aus dem Internet?

Gruß und Dank
Werner

Nach reset Formularfeld wieder vorbelegen

oesi50
  
Beiträge gesamt: 2315

11. Feb 2005, 12:52
Bewertung:

gelesen: 2066

Beitrag als Lesezeichen
>Wo findet man solche speziellen Dinge?

Das sind Grundlagen, die in jeder Programmiersprache so oder ähnlich existieren(müssen).

Diese solltest du als erstes beherrschen.

In der Literatur wird das als Datentypen bezeichnet.
Datentypen sind z.B. String,Integer,Float,Real,Dezimal usw.

Bei deinem Beispiel war es die Zeichenkettenverarbeitung(Zeichenkette = String).

Bsp:
var a = 'Zeichenkette1';
var b = 'Zeichenkette2';
var c = a + ' x ' + c;

was ergibt jetzt document.write(c)?

im Gegensatz zu

var a = 1;
var b = 2;
var c = a + b;

document.write(c);

Wenn du das 100%ig verstanden hast, und dir bewusst wird, was in deinem Computer dabei abläuft, kommen dann solche 'Intuitionen' spontan selbst.

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)

(Dieser Beitrag wurde von oesi50 am 11. Feb 2005, 12:54 geändert)

Nach reset Formularfeld wieder vorbelegen

webra
Beiträge gesamt: 4

11. Feb 2005, 13:14
Bewertung:

gelesen: 2066

Beitrag als Lesezeichen
Hallo Oesi,

die Geschichte mit den unterschiedlichen Datentypen war mir schon klar. Das steht auch alles schön in meinem Javascript-Kompendium (!). Woran ich scheiterte - obwohl ich glaube, dass ích mich in der Programmierung ein wenig auskenne - ist die Umsetzung dieser Erkenntnis auf komplexere Strukturen. Ich wäre nie auf die Idee gekommen, eine Formularzeile mit allem Drum und Dran:

document.write('<td width="129"><input TYPE="TEXT" NAME="Kontakt_Angebotsnummer" value="' + document.cookie + '" SIZE="4" readonly>');

an document.write anzuhängen. Hier fehlt die Erfahrung!

Gruß Werner

(Dieser Beitrag wurde von webra am 11. Feb 2005, 13:18 geändert)