Michelle: Formularfeld via Popup ändern --> Feldname is not defined

Beitrag lesen

Guten Tag

Ich möchte ein Formular bestehend aus mehreren Select-Feldern über ein Popup anpassen. Um dies zu realisieren, habe ich das Script "Neue Elemente in Auswahlliste einfügen" (http://de.selfhtml.org/javascript/objekte/options.htm#neue_elemente) abgeändert. Leider kommt nun immer die Fehlermeldung "upload_anlass1 is not defined". Hat jemand eine Idee, woran das liegen könnte?

Mein vereinfachter Code:

Formular im Hauptfenster:

<form name="fupload" method="post" action="index.php">
 Modell:
 <select name="upload_modell" onChange="popnewentry('<?php echo $cat; ?>',this.options[this.selectedIndex].value)">
  <option value="1" selected>Wert 1</option>
  <option value="2" selected>Wert 2</option>
 </select>

Anlass 1:
 <select name="upload_anlass1" onChange="popnewentry('<?php echo $cat; ?>',this.options[this.selectedIndex].value)">
  <option value="neu">neu ...</option>
  <option value="1" selected>Wert 1</option>
  <option value="2" selected>Wert 2</option>
 </select>

<input type="submit" name="upload_go" value="OK">
</form>

Die Funktion popnewentry sieht so aus:

<script language="JavaScript">
<!--
 function popnewentry(cat,val) {
  if (val == "neu")
  {
   var sURL = "includes/read_popup_new.php?cat=" + cat;
   var sName = "pop_newentry";
   var sOptions = "dependent=yes,left=100,top=200,scrollbars=yes,resizable=yes";
   var sWidth = 495;
   var sHeight = 625;
   msg = window.open(sURL, sName, sOptions + ',width=' + sWidth + ',height=' + sHeight);
  }
 }
//-->
</script>

Im Popup hab ich dann ein Formular mit einem Textfeld, in welches ein neuer Eintrag eingegeben werden kann.

<input type="text" name="newentry">

Das Formular ruft sich selbst wieder auf und im Header checke ich mit PHP, ob der neue Eintrag sinn macht. Wenn ja, führe ich die folgende Funktion onload aus:

<script language="JavaScript">
<!--
 function insert_newoption(newval, newid, fieldname) {
  if (opener && opener.closed!=1) {
   var newoption = new Option(newval, newid, false, true);
   opener.document.fupload.fieldname.options[opener.document.fupload.fieldname.length] = newoption;
   self.close();
  }
 }
//-->
</script>

<body onLoad="insert_newoption('<?php echo $newentry; ?>', '<?php echo $newid; ?>', <?php echo $fieldname; ?>)">
(wobei $newentry = Wert aus dem obigen Textfeld "newentry", $newid = value des neuen Eintrags (kommt aus MySQL) und $fieldname = Name der entsprechenden Select-Box, z.B. "upload_anlass1".

Wenn ich das dann ausprobiere, erhalte ich dann wie gesagt die Fehlermeldung "upload_anlass1 is not defined" oder "upload_modell is not defined" (je nach gewählter Select-Box).

In diesem Code steckt mein ganzes mageres Javascript-Wissen... Ich komm hier keinen Schritt mehr weiter und wäre unheimlich froh, wenn mir jemand helfen könnte!!!

Vielen Dank und lg, Michelle