Felix Riesterer: Zeilen- Daten

Beitrag lesen

Liebe Marlene,

die bisherigen Antworten (siehe unten) haben Dir ja schon gezeigt, dass Du im Methodenaufruf mitgeben musst, wo genau der Benutzer geklickt hat. Ich möchte Dir anbieten, dass Du überhaupt kein onclick-Attribut im HTML-Dokument notierst, sondern den JavaScript-Code in einer <http://de.selfhtml.org/javascript/intro.htm#javascriptdateien@title=externen JS-Datei> vom HTML-Dokument getrennt hälst.

Die JavaScript-Datei solltest Du entweder am Ende des HTML-Dokuments als letztes Element im <body> einbinden, oder, wenn Du sie im <head> notieren willst, mit einem "Autostart" versehen.

Nachdem also Dein Code aktiv wird, muss er sich nur noch Deine Tabelle suchen und die Buttons mit der Funktionalität versehen. Dazu hast Du zwei Möglichkeiten. Entweder Du versiehst Deine Tabelle mit einer ID oder Klasse, oder Dein JavaScript weiß einfach, die wievielte Tabelle im Dokument diejenige welche ist.

function prepareSubmitButtons () {  
    var table, tables, inputs, i;  
  
    // Tabelle mit ID finden  
    table = document.getElementById("datentabelle");  
  
    // erste Tabelle im Dokument finden  
    table = document.getElementsByTagName("table")[0];  
  
    // erste Tabelle im Formular mit dem Namen "meinFormularName" finden  
    table = document.meinFormularName.getElementsByTagName("table")[0];  
  
    // Tabelle mit der Klasse "daten" finden  
    tables = document.getElementsByTagName("table");  
    for (i = 0; i < tables.length; i++) {  
        if (tables[i].className.match(/\bdaten\b/)) {  
            table = tables[i];  
        }  
    }  
  
    // submit-Buttons mit onclick-Event ausrüsten  
    if (table) {  
        inputs = table.getElementsByTagName("input");  
        for (i = 0; i < inputs.length; i++) {  
            if (inputs[i].type == "submit") {  
                inputs[i].onclick = function (e) {  
                    return jsMethode(this);  
                }  
            }  
        }  
    }  
}

Ich vermute stark, dass Du mit "jsMethode" eine Datenüberprüfung oder Ähnliches vornehmen willst. Wenn nun diese Überprüfung scheitern sollte,m dann willst Du sicher das Abschicken der Daten verhindern, oder nicht. Dazu müsste Deine jsMethode ein passendes true oder false zurückliefern, damit das "return jsMethode(this)" den Klick abfangen und das Absenden verhindern kann.

Liebe Grüße,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)