plan_B: Lange Selectbox löschen (IE/Moz)

Beitrag lesen

Hallo,

streiche, was ich früher geschrieben habe, das Verfahren klappt einwandfrei.
zum Testen lass lieber den IE weg. Meine IE-Version funktioniert dann nicht mehr, wenn das neue dynamisch erzeugte Element mit Namen angesprochen werden soll. Das ist/war? ein IE-Bug.
Möglich, dass das auch bei dir die Fehlerursache war oder
du bist mit "id" und "name" durcheinander gekommen
oder ...??

  
<html>  
<head><title>test</title>  
  
<script type="text/javascript">  
  
zm=0;  
function zeitmarke(z) {  
 return (new Date()).getTime() -z;  
 }  
  
function init_sel(sel_name) {  
 var imax=parseInt(prompt("wieviele Optionen erzeugen ","7000"));  
 if (imax>0)  
 with (document.forms.f1[sel_name]) {  
  zm=zeitmarke(0);  
  log("0ms","start init");  
  for (var i=1;i<imax;i++) {  
   var o=new Option();  
   o.value=""+i;  
   o.text=""+(i*i)  
   options[options.length]=o;  
   }  
  log(""+zeitmarke(zm)+"ms",""+ options.length+" Optionen verfügbar "+sel_name );  
  }  
  return false;  
 }  
  
function new_sel(frm,oldselname) {  
 var filter=prompt("Welche Zahlenfolge filtern","678");  
 if (filter) {  
  zm=zeitmarke(0);  
  log("0ms","start filter");  
  var sneu=document.createElement("select");  
  var salt=frm.elements[oldselname];  
  for( var i=0;i<salt.options.length;i++) {  
   if (salt.options[i].text.indexOf(filter)>-1) {  
    var o=new Option();  
    o.value=salt.options[i].value;  
    o.text=salt.options[i].text;  
    sneu.options[sneu.options.length]=o;  
    }  
   }  
  sneu.id=salt.id;  
  salt.form.replaceChild(sneu,salt);  
  sneu.onchange=salt.onchange;  
  sneu.name=salt.name;  
  log(""+zeitmarke(zm)+"ms","fertig new_sel");  
  log(""+zeitmarke(zm)+"ms","id finden :"+document.getElementById(salt.id).id);  
  }  
 return false;  
 }  
  
function change(elem){  
 var op=elem[elem.selectedIndex];  
 log("","onchange: "+op.value+"\t"+op.text+"\n");  
 return false;  
 }  
  
function log(z,x) {  
 document.forms.f1.TA.value=""+z+"\t"+x+"\n"+document.forms.f1.TA.value;  
 }  
</script>  
  
</head>  
<body  onload='init_sel("Auswahl")'>  
<h1>test select ersetzen</h1>  
<form name="f1" action="javascript:void()">  
  
<select name="Auswahl" id="Auswahlid" onchange="change(this)">  
<option value="test">hallo</option>  
</select>  
  
<button type=button onclick="return new_sel(this.form,'Auswahl')">new select</button>  
<textarea name="TA" cols=50 rows=10></textarea>  
</form>  
</body>  
</html>  
  

Gruß plan_B

--
     *®*´¯`·.¸¸.·