Elmar: variable nachträglich globaiseren

hi all,

bin ein grosse newbie ;-) also bitte nicht zu streng ;-)

habe mal schnell eine frage...

ist es möglich in einer funktion eine variable zu globaliseren?

meine damit - z.b

<script language="JScript" type="text/jscript">
<!--
if(!prozent)
{ var prozent = 0; }

function wasauchimmer(prozent)
{
globalisere_mir_diese_var[prozent];
...
}

//-->

geht sowas irgend wie !?!?!

danke,

gruss,elmar.

  1. hi,

    ist es möglich in einer funktion eine variable zu globaliseren?

    nich das ich wüsste.

    <script language="JScript" type="text/jscript">
    <!--
    if(!prozent)
    { var prozent = 0; }

    function wasauchimmer(prozent)
    {
    globalisere_mir_diese_var[prozent];
    ...
    }
    geht sowas irgend wie !?!?!

    warum deklarierst du sie dann nicht gleich global, oder übergibst sie der funktion als parameter?

    gruss,
    wahsaga

    1. hi,

      ist es möglich in einer funktion eine variable zu globaliseren?

      [....]

      geht sowas irgend wie !?!?!
      warum deklarierst du sie dann nicht gleich global, oder übergibst sie der funktion als parameter?

      [....]

      kurze story...

      es sind 2 input(text) felder vorhanden.
      in dem einen wird der einkaufspreis eingegeben, und darunter stehen in radio button die möglichekn prozente im aufschlag.
      jetzt wird der prozent wert ausgewählt und somit ändert sich im 2. vekraufsfeld der wert => funktion errechnet eval(einkaufspreis * '1.'+prozent)

      so jetzt wird allerdings nachträglich der einaufswert geändert, aber die prozente bleiben gleich => muss der prozent-wert der einen funktion an die andere übergeben werden. => über global - oder !?!?

      hoffe es ist einiger massen verständlich rüber gekommen

      danke,

      gruss.elmar.

      1. es sind 2 input(text) felder vorhanden.
        in dem einen wird der einkaufspreis eingegeben, und darunter stehen in radio button die möglichekn prozente im aufschlag.
        jetzt wird der prozent wert ausgewählt und somit ändert sich im 2. vekraufsfeld der wert => funktion errechnet eval(einkaufspreis * '1.'+prozent)

        eval ist evil!

        und du kannst sicher sein, das du nicht eval benutzen willst, es hat nur Nachteile für dich (und hin und wieder auch für die Benutzer deiner seite).

        so jetzt wird allerdings nachträglich der einaufswert geändert, aber die prozente bleiben gleich => muss der prozent-wert der einen funktion an die andere übergeben werden. => über global - oder !?!?

        Nö wieso, das Formularfeld steht dir doch jederzeit (global) zu Verfügung, oder?

        Struppi.

        1. [....]

          eval ist evil!

          und du kannst sicher sein, das du nicht eval benutzen willst, es hat nur Nachteile für dich (und hin und wieder auch für die Benutzer deiner seite).

          alterantive !?!?!?!
          sorry, bin newbie ;-)

          so jetzt wird allerdings nachträglich der einaufswert geändert, aber die prozente bleiben gleich => muss der prozent-wert der einen funktion an die andere übergeben werden. => über global - oder !?!?

          Nö wieso, das Formularfeld steht dir doch jederzeit (global) zu Verfügung, oder?

          so irgend wie habe ich es eh gelöst ...

          nochmals vielen dank!!

          gruss,elmar.

          1. [....]

            eval ist evil!

            und du kannst sicher sein, das du nicht eval benutzen willst, es hat nur Nachteile für dich (und hin und wieder auch für die Benutzer deiner seite).

            alterantive !?!?!?!
            sorry, bin newbie ;-)

            kommt drauf an wo du es einsetzt, aber in der Regel geht es um Formularfelder (es muss irgendwo auf diese Welt ein buch oder eine I-net seite geben in der offensichtlich nur per eval auf document Elemente zugegriffen wird, weil diese Variante häufiger gebraucht wird, obwohl sie Müll ist)

            angenommen:

            ....
            <body>

            <form name="f">
            <input type=".." name="el">
            </form>
            </body>

            greifst du einfach per:

            Dokument: document
            Formular: document.forms['f'] oder document.f
            Element: document.forms['f'].elements['el']

            zu. nirgends ein eval und jetzt mach mal einen Tippfehler rein, dann siehst du in dieser Variante sofort anhand der Fehlermeldung wo und warum ein Fehler auftritt, in der eval Lösung nicht.

            eval ist nur nötig, wenn du Zur Laufzeit noch nicht weißt wie dein Code aussieht, z.b. wenn du JS Code vom User eingeben lassen möchtest (bei Berechnungen), ansonsten spar es dir.

            Struppi.

            1. hi,

              eval ist evil!
              kommt drauf an wo du es einsetzt, aber in der Regel geht es um Formularfelder (es muss irgendwo auf diese Welt ein buch oder eine I-net seite geben in der offensichtlich nur per eval auf document Elemente zugegriffen wird, weil diese Variante häufiger gebraucht wird, obwohl sie Müll ist)

              ähm, pssst ... das selfhtml-beispiel bezüglich zwei frames mit einem klick ändern benutzt auch eval, um auf die frames zuzugreifen ...

              gruss,
              wahsaga

      2. hi,

        so jetzt wird allerdings nachträglich der einaufswert geändert, aber die prozente bleiben gleich => muss der prozent-wert der einen funktion an die andere übergeben werden. => über global - oder !?!?

        beim ändern des wertes im feld für den einkaufspreis rufst du einfach erneut eine funktion zum berechnen auf, die sowohl diesen einkaufspreis ausliest, als auch nachschaut, welcher radiobutton angekreuzt ist - globale variablen brauchst du dafür m.e. überhaupt nicht.

        gruss,
        wahsaga