ZZHAT: String Übergabe

Hallo,
ich habe eine Site, in dem ich über ein Doppelklick auf ein Formularfeld ein Popup öffen.
In diesem kann ich über eine Pulldown.Menü einen Wert auswählen.
Klicke dann auf senden, dann wird dieser in das Formularfeld im Vater-Fenster übernommen.
Die wird aber nur im MS IE korrekt gemacht aber über den NS 7.1
oder Mozilla 1.4 werden nur die ersten 4 Zeichen übernommen.

Kennt jemand diese Problematik und weiss vielleicht auch einen Rat?

Viele Grüße
Jörg

  1. Hi Jörg,

    wenn Du uns einen Link oder wenigstens den JS Code zum Thema hast dann vieleicht haben wir eine Idee dazu.

    Grus Matze

    1. Hi Matze,
      ich kann den JS-Code des PopUps und ein Teil des Formulars posten.
      Ein Link geht leider nicht, weil es hier bei mir local installiert ist.

      Hoffe man kann es lesen.

      so wie im select zu lesen wird so etwas wie "(110100) - Tester/in 1" im MS IE korrekt übertragen jedoch nicht im NS und Mozilla.
      Da sehe ich dann nur etwas wie "(110".

      Viele Grüße
      Jörg

      // Script im Header

      <SCRIPT LANGUAGE="JavaScript">

      <!-- Begin
      function SelObj(formname,selname,textname,str) {
      this.formname = formname;
      this.selname = selname;
      this.textname = textname;
      this.select_str = str || '';
      this.selectArr = new Array();
      this.initialize = initialize;
      this.bldInitial = bldInitial;
      this.bldUpdate = bldUpdate;
      }

      function initialize() {
      if (this.select_str =='') {
      for(var i=0;i<document.forms[this.formname][this.selname].options.length;i++) {
      this.selectArr[i] = document.forms[this.formname][this.selname].options[i];
      this.select_str += document.forms[this.formname][this.selname].options[i].value+":"+
      document.forms[this.formname][this.selname].options[i].text+",";
         }
      }
      else {
      var tempArr = this.select_str.split(',');
      for(var i=0;i<tempArr.length;i++) {
      var prop = tempArr[i].split(':');
      this.selectArr[i] = new Option(prop[1],prop[0]);
         }
      }
      return;
      }
      function bldInitial() {
      this.initialize();
      for(var i=0;i<this.selectArr.length;i++)
      document.forms[this.formname][this.selname].options[i] = this.selectArr[i];
      document.forms[this.formname][this.selname].options.length = this.selectArr.length;
      return;
      }

      function bldUpdate() {
      var str = document.forms[this.formname][this.textname].value.replace('^\s*','');
      if(str == '') {this.bldInitial();return;}
      this.initialize();
      var j = 0;
      pattern1 = new RegExp("^"+str,"i");
      for(var i=0;i<this.selectArr.length;i++)
      if(pattern1.test(this.selectArr[i].text))
      document.forms[this.formname][this.selname].options[j++] = this.selectArr[i];
      document.forms[this.formname][this.selname].options.length = j;
      if(j==1){
      document.forms[this.formname][this.selname].options[0].selected = true;
      //document.forms[this.formname][this.textname].value = document.forms[this.formname][this.selname].options[0].text;
         }
      }
      function setUp() {
      obj1 = new SelObj('bkngruppen','bkn','entry1');
      obj1.bldInitial();
      obj2 = new SelObj('bknbezeichnung','bezeichnung','entry2');
      obj2.bldInitial();
      }

      var BEZEICHNUNG_JETZT = "";
      var BEZEICHNUNG_VORHER = "";
      function InitSaveVariables(form) {
      BEZEICHNUNG_VORHER = self.opener.window.document.forms[0].BEZEICHNUNG_VORHER.value;
      }

      function transfer(form) {
      if (form.Senden) {
      InitSaveVariables(form);
      self.opener.window.document.forms[0].BEZEICHNUNG_VORHER.value = form.bezeichnung.value;
      }
      else {
      self.opener.window.document.forms[0].BEZEICHNUNG_VORHER.value = BEZEICHNUNG_VORHER;
         }
      window.close();
      }
      //  End -->
      </script>

      // Body
      <body onLoad="javascript:setUp()">

      // Formular
      <select class="generate" name="bezeichnung" size="1">
      <option> - Bezeichnung -
      <option value="(110100) - Tester/in 1">Tester/in 1
      <option value="(110101) - Tester/in 2">Tester/in 2
      </select>

      <input type="submit" value="Senden" name="Senden" onClick = "javascript:transfer(this.form)">