Archivlink: javarea.de Forum > JavaScript > Funktionsfehler bei <form>-Tag
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Funktionsfehler bei <form>-Tag

Pages: [1]

geschrieben von Michael am 17.08.2005 - 10:34
Hi Leute!

Ich habe eine Funktion, die die Inhalte von Textfelder bei einer angehackten Checkbox in andere Textfelder "kopiert" und diese sperrt, damit sie nicht geändert werden können.

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
function ident() {
  if(document.getElementById('ident').checked) {
    
	if(document.getElementById('kp_anrede_frau').checked)     document.getElementById('kunde_anrede_frau').checked  = true;
	if(document.getElementById('kp_anrede_herr').checked)     document.getElementById('kunde_anrede_herr').checked  = true;
	if(document.getElementById('kp_anrede_firma').checked)    document.getElementById('kunde_anrede_firma').checked = true;
    
	document.getElementById('kunde_titel').value           = document.getElementById('kp_titel').value;
    document.getElementById('kunde_name').value            = document.getElementById('kp_name').value;
    document.getElementById('kunde_vorname').value         = document.getElementById('kp_vorname').value;
    document.getElementById('kunde_ansprechpartner').value = document.getElementById('kp_ansprechpartner').value;
    document.getElementById('kunde_strasse').value         = document.getElementById('kp_strasse').value;
    document.getElementById('kunde_plz').value             = document.getElementById('kp_plz').value;
    document.getElementById('kunde_ort').value             = document.getElementById('kp_ort').value;
    document.getElementById('kunde_mail').value            = document.getElementById('kp_mail').value;
    document.getElementById('kunde_telefon').value         = document.getElementById('kp_telefon').value;
    document.getElementById('kunde_anmerkung').value       = document.getElementById('kp_anmerkung').value;
		
	document.getElementById('kunde_titel').disabled           = true;
	document.getElementById('kunde_name').disabled            = true;
	document.getElementById('kunde_vorname').disabled         = true;
	document.getElementById('kunde_ansprechpartner').disabled = true;
	document.getElementById('kunde_strasse').disabled         = true;
	document.getElementById('kunde_plz').disabled             = true;
	document.getElementById('kunde_ort').disabled             = true;
	document.getElementById('kunde_mail').disabled            = true;
	document.getElementById('kunde_telefon').disabled         = true;
	document.getElementById('kunde_anmerkung').disabled       = true;
  } else {
    // Formularfelder wieder entsperren
  	document.getElementById('kunde_titel').disabled           = false;
  	document.getElementById('kunde_name').disabled            = false;
  	document.getElementById('kunde_vorname').disabled         = false;
  	document.getElementById('kunde_ansprechpartner').disabled = false;
  	document.getElementById('kunde_strasse').disabled         = false;
  	document.getElementById('kunde_plz').disabled             = false;
  	document.getElementById('kunde_ort').disabled             = false;
  	document.getElementById('kunde_mail').disabled            = false;
  	document.getElementById('kunde_telefon').disabled         = false;
  	document.getElementById('kunde_anmerkung').disabled       = false;
  }  
}


Das Ganze funktioniert auch super, jedoch wenn ich den Form Tag für das Formular um die ganzen Felder setze, bekomme ich einen JavaScript Fehler!?!?

HTML-Quelltext
1: 
<form action="absenden.php" method="post" enctype="multipart/form-data">


Die Funktion rufe ich wie folgt in den Formularfeldern auf:
HTML-Quelltext
1: 
...onClick="ident(); missing_fields()"...


Ist irgendwie irgendwo ein Fehler - vielleicht hat jemand einen Tipp für mich

geschrieben von René am 17.08.2005 - 11:52
Besser wäre du postest mal alles HTML-Code und die zweite JS-Funktion missing_fields()

geschrieben von Michael am 17.08.2005 - 12:29
Hänge die ganze Datei mal an - da sie doch sehr lang ist...

Auszug aus der jslib.js

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
function plz_ereg(ort_id, plz_id, suchstring) {
   
  var wohnort = new Array();

  wohnort[0] = new Object();
  wohnort[0]["plz"] = "1010";
  wohnort[0]["ort"] = "Wien";

  wohnort[1] = new Object();
  wohnort[1]["plz"] = "1020";
  wohnort[1]["ort"] = "Wien";

...

  // Treffer Variable initialisieren
  var counter = "0";

  for (var i = 0; i < wohnort.length; i++) {
    if(wohnort[i]["plz"] == suchstring){ 
      document.getElementById(ort_id).value = wohnort[i]["ort"];
      counter++;
    }
  }
  
  // Prüfen, ob PLZ eingegeben ist, jedoch kein Treffer erzielt wurde -> Wert des Felder Wohnort leeren
  if((document.getElementById(plz_id).value != "") && (counter == "0")) { 
    document.getElementById(ort_id).value = "";
  }
}


geschrieben von René am 17.08.2005 - 15:22
Die Checkbox mit der ID = ident hat die Macke verursacht die heißt jetzt gleich.

geschrieben von Michael am 17.08.2005 - 15:27
Hi Rene,

ich danke dir! Die kleinen Dinge machens oft aus ,-)

Noch kurz zum Verständnis: das with(document) bedeutet, dass allen getElementById(' ') ein document. vorangestellt wird!?

geschrieben von René am 17.08.2005 - 17:57
Ja with (...) spart Code was in with steht kannst du dir dann vor die anderen Zeilen denken als wenn es dort stehen würde.


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.