Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [JavaScript] Funktion (Nummer generieren) geht nicht im IE (https://www.delphipraxis.net/117927-%5Bjavascript%5D-funktion-nummer-generieren-geht-nicht-im-ie.html)

Grolle 28. Jul 2008 15:57


[JavaScript] Funktion (Nummer generieren) geht nicht im IE
 
Hallo,

ich habe eine Funktion um ein Fortlaufende Seriennummer zu generieren.
Ich bekomme die Werte count=10, series=xyz221 und daraus wird dann:
xyz221, xyz222, ... xyz230. Leider funktioniert das nur im Firefox:
Code:
       function countSeries(count,series){
          var extrac = count.length;
          var i     = series.length-extrac;
          var cons  = series.substr(0,i);
          var val   = "";
          var to    = parseInt(count);
            for (i; i<= series.length-1;i++){
                 val.concat(series[i]);
               }
            i = parseInt(val);                          //<-- val wird im IE als undefiniert angezeigt?!

            to = i+to-1;
            val = "";
            for(i; i <= to; i++){
                 val = val + cons + String(i) + ', ';
               }
            var reval = val.substr(0,val.length-2);
            return reval;  
               
           }
Kann mir jemand sagen, was der IE da nicht mag?

Viele Grüße ...

DeddyH 28. Jul 2008 16:22

Re: [JavaScript] Funktion (Nummer generieren) geht nicht im
 
Mein IE7 meckert aber nichts an :gruebel:

Grolle 28. Jul 2008 16:26

Re: [JavaScript] Funktion (Nummer generieren) geht nicht im
 
Hi,

meckern tut er bei mir auch nicht, nur wenn ich ein alert(val) reinpacke
ist's an der Stelle undefiniert oder ''. Ich übergebe nur Werte aus Textfeldern
(ist noch ein Framework dahinter, hat aber damit nix zu tun).

Viele Grüße ...

// Edit: Lese gerade bei Selfhtml, dass das: series[i] nicht im IE funktioniert. Was denn dann?

nat 28. Jul 2008 16:59

Re: [JavaScript] Funktion (Nummer generieren) geht nicht im
 
Zitat:

Zitat von Grolle
for (i; i<= series.length-1;i++){
val.concat(series[i]);
}

concat ändert den wert von val nicht. es gibt den wert von val+series[i] zurück.
daher müsste es so sein
Code:
val = val.concat(series[i])
sollte series[i] im IE wirklich nicht gehen (nie getestet), dann nimm
Code:
series.charAt(i);

Grolle 28. Jul 2008 17:03

Re: [JavaScript] Funktion (Nummer generieren) geht nicht im
 
Hallo,

bin jetzt soweit:
Code:
       function countSeries(count,series){
          var extrac = count.length;
          var i     = series.length-extrac;
          var cons  = series.substr(0,i);
          var val   = '';
           var to    = 0;
            for (i; i<= series.length-1;i++){
                 val = val + series.charAt(i);
               }
            i = parseInt(val);
            to = i+to-1;
            val = '';
            for(i; i <= to; i++){
                 val = val + cons + String(i) + ', ';
               }
            var reval = val.substr(0,val.length-2);
            return reval;  
               
           }
Jetzt wird val aber in der 2. Schleife nicht vernünftig zusammengesetzt?!?

Viele Grüße ...

nat 28. Jul 2008 17:20

Re: [JavaScript] Funktion (Nummer generieren) geht nicht im
 
poste bitte ma was rauskommen sollte.
irgendwie is das alles etwas chaotisch bei dir... ;)

edit:
also wenn to=0 ist und du später
to=i+to-1 setzt, dann ist to=i-1
dein forschleife läuft bis i<=to
to is aber von anfang an < i.
somit wird deine forschleife nie
durchlaufen. wie gesagt, sag ma was du
da genau bezweckst.

Grolle 28. Jul 2008 17:26

Re: [JavaScript] Funktion (Nummer generieren) geht nicht im
 
und nicht sehr kommentiert :wink: , aber siehe erster Beitrag:
count=10, series=xyz221 und daraus wird dann: xyz221, xyz222, ... xyz230
Viele Grüße ...

nat 28. Jul 2008 17:39

Re: [JavaScript] Funktion (Nummer generieren) geht nicht im
 
ich hab ma deine schleife etwas angepasst.
ich hätte es zwar etwas anders gemacht
(die komplette zahl mir aus dem string holen und dann inkrementieren),
aber so sollte es erstma gehen.

Code:
function countSeries(count,series){
          var extrac = count.length;
          var i     = series.length-extrac;
          var cons  = series.substr(0,i);
          var val   = series.substr(i, series.length);
                
               result = '';
               for(i=0; i<count; i++)
               {
                  if(result != '') result += ', ';
                  result += cons+val;
                  val++;
               }
               return result;
}

Grolle 28. Jul 2008 17:51

Re: [JavaScript] Funktion (Nummer generieren) geht nicht im
 
Hi,

Zitat:

Zitat von nat
ich hätte es zwar etwas anders gemacht
(die komplette zahl mir aus dem string holen und dann inkrementieren),

es kann sein, dass am Anfang des Strings auch Zahlen stehen. Darum habe ich es so getestet.
Deine Funktion läuft auf jeden Fall (im IE) wie gewünscht. Besten Dank! :thumb:

Viele Grüße ...

nat 28. Jul 2008 18:01

Re: [JavaScript] Funktion (Nummer generieren) geht nicht im
 
die idee ist trotzdem etwas buggy...
ruf ma das auf: countSeries("11", "xyz298");
sonst mußte dir die zahl halt von hinten holen,
bis das erste zeichen kommt oder du mußt die
länge deiner func mit übergeben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:00 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz