Patrick: JS-Sortierfunktion, aktueller Wert von mit onfocus in onchange()

Beitrag lesen

Hallo Yeti,

deswegen habe ich ja "sinngemäß" geschrieben, weil mir auch bewusst ist, dass es so wohl nicht der feine Weg ist.

Dass onfocus eine Funktion oder mehr aufnehmen kann, ist mir klar, nur wie bekomme ich den aktuellen (statischen) Wert als zweites Argument für die resort-Funktion übergeben?

Den statischen Wert brauche ich um die vorher-nachher Differenz zu berechnen und die übrigen Werte neu verrechnen zu können...
denn wenn ich den Wert im Textfeld ändere ist der value-Wert ja der neue und nicht mehr der Urspüngliche...

Oder ist nen Gedankenwurm in meiner Sortierfunktion drin?

function resortList(anzahl,itsID,aktueller_wert) {
                // alert("wurde ausgeführt in ID: "+ itsID +", Anzahl: "+ anzahl);

var neuer_wert = document.getElementById('posid' + itsID).value;

for (i = 1; i <= anzahl; i++) {
                    if (i != itsID) {
                        var thisval = document.getElementById('posid' + i).value;

// Wenn Zahl erniedrigt wurde
                        if (aktueller_wert > neuer_wert) {
                            if ((thisval >= neuer_wert) && (thisval < aktueller_wert)) {
                                document.getElementById('posid' + i).value = ((thisval * 1) + 1);
                            }
                        }
                        // Wenn Zahl erhöht wurde
                        if (neuer_wert > aktueller_wert) {
                            if ((thisval > aktueller_wert) && (thisval <= neuer_wert)) {
                                document.getElementById('posid' + i).value = ((thisval * 1) - 1);
                            }
                        }

/*
                        if ((thisval > neuer_wert) && (i != itsID)) {
                            document.getElementById('posid' + i).value = ((thisval * 1) + 1);
                        }else if ((thisval == neuer_wert) && (i != itsID)) {
                            document.getElementById('posid' + i).value = ((thisval * 1) - 1);
                        }
                        */
                    }

}
            }