Peterle: target beim form setzen

Beitrag lesen

hi,

wo siehst du jetzt konkret einen zusammenhang zwischen name des iframes und name des formulars?

Sorry Leute, dass war natuerlich Quatsch was ich da gemacht habe.

Der name des iframes wird richtig gesetzt.

Da ich den Fehler immernoch nicht gefunden habe, frag ich mal anderst.
Ich moechte in einer tabelle, auf knopfdruck Zusatzinformationen zu einer Zeile bereit stellen.

Also habe ich mir gedacht, mach ich ein schickes "+" Zeichen ans ende jeder Zeile und wenn man da drauf drueckt, erstelle ich unter dieser Zeile eine neue Zeile.

In dieser Zeile erstelle ich dann einen iframe und uebergebe dann per form alle relevanten Daten ein ein schon existierendes pl skript, welches das Ergebniss dann in den iframe in meiner tabelle schreibt.

So weit so gut, funktioniert auch unter Netscape nur unterm IE gibt es oben genanntes Problem, dass das pl script nicht im iframe sondern in einem neuen Fenster aufgerufen wird.

Hab mal mein bisherigen code angehaengt, hoffentlich kann man es einigermasen lesen.
function db_edit(zid)
    {
    var edit = "inhalt_td_"+zid+"_edit";
    var edit_obj = top.document.getElementById(edit);

// einklappen
    if (edit_obj.status == "minus")
      {
      edit_obj.src = 'images/plus.gif';
      edit_obj.status = "plus";

tr_ext_id = "tr_ext_"+zid;
      rek_remove(top.document.getElementById(tr_ext_id));
      //top.document.removeChild(top.document.getElementById(tr_ext_id));
      }
    // ausklappen
    else
      {
      edit_obj.src = 'images/minus.gif';
      edit_obj.status = "minus";

var next_zid = zid + 1;
      var next_edit = "inhalt_td_"+next_zid+"_edit";
      var next_edit_obj = top.document.getElementById(next_edit);

// erzeuge ext
      var tr_ext = top.document.createElement('tr');
      tr_ext.id = "tr_ext_"+zid;
      tr_ext.name = "tr_ext_"+zid;

var td_ext = top.document.createElement('td');
      tr_ext.appendChild(td_ext);
      td_ext.colSpan="9";

var td_iframe_name = "ext_iframe"+zid;
      var td_iframe = top.document.createElement('iframe');
      td_iframe.id = td_iframe_name;
      td_iframe.name = td_iframe_name;
      td_ext.appendChild(td_iframe);
      td_iframe.width="100%";
      //td_iframe.height="100%";

var update_form = top.document.createElement("form");
      update_form.id = "ext_form"+zid;
      ausgabe.appendChild(update_form);

update_form.action = "../cgi-bin/datum_update_input.pl";

update_form.target = td_iframe_name;

// wenn ein nachfolge obj existiert, packe es vor ihm
      if (next_edit_obj)
        {

}
      else
      // sonst einfach als leztes element anhaengen
        {
        tbody.appendChild(tr_ext);
        update_form.submit();

} // end if (next_edit_obj)

} // end (edit_obj.status == "minus")

} // end function db_edit(zid)

Gruss Peterle