Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
js ID aus Tabelle ermitteln
#1
es wird immer die zuletzt angelegte id aus der datenbank angezeigt (copyid = '?test=' + id)

führe ich ein( lnk.href = '?test=' + idWink aus, wird die richtige id angezeigt!



Code:
//Loeschen
                    field = document.createElement('td');
                    image = document.createElement('img');
                    image.src = 'web_images/loschen_2.png';
                    lnk = document.createElement('a');
                    //lnk.href = '?test=' + id;
                    copyid = 'test=' + id;
                    lnk.onclick = myFunction_loeschen;
                    lnk.appendChild(image);
                    field.appendChild(lnk);
                    field.setAttribute('width', 40);
                    line.appendChild(field);
Code:
function myFunction_loeschen() {
    dataString = 'test';
   $.ajax({
        type: 'POST',
        url: 'monitorOESoft.php',
        data: dataString,
        
         success: function(){
            alert(copyid);             // hier zum testen
        }
        
    });
    
    
  }
Zitieren
#2
Verstehe ich jetzt nicht. Es wäre auch mal sinnvoll ein live Beispiel zu sehen , weil deine ganzes createElement und so weiter muß vielleicht gar nicht sein. Da gibt es auch andere Wege (PHP oder sonst was)
In deinen Code sehe ich jetzt auch

dataString = 'test';

Da ist keine ID drin beim Senden . Das sollte man aber in der Browser Konsole sehen was gesendet wird.
Dass der Alert das richtige anzeigt, ist logisch.

Wenn dann den dataString ändern.
dataString={test:id},
oder an der URL setzen im Ajax
url: 'monitorOESoft.php?test=' + id,
Zitieren
#3
hallo, also ich habe eine tabelle mit fortlaufender id.

wenn ich jetzt das rote X (siehe Bild) drücke wird mir die richtige id in der url angezeigt.
hierzu dieser quelltext:

Code:
    field = document.createElement('td');
                    image = document.createElement('img');
                    image.src = 'web_images/loschen_2.png';
                    lnk = document.createElement('a');
                    lnk.href = '?test=' + id;
                    lnk.appendChild(image);
                    field.appendChild(lnk);
                    field.setAttribute('width', 40);
                    line.appendChild(field);

jetzt möchte ich aber die id nicht in der url angezeigt haben, sondern in einer variable speichern.
hier wird aber nicht die ausgewählte id genommen, sondern immer die letzte angelegte id aus der datenbank. warum?

das war meine frage :-)

Code:
    field = document.createElement('td');
                    image = document.createElement('img');
                    image.src = 'web_images/loschen_2.png';
                    lnk = document.createElement('a');
                    copyid = 'test=' + id; // das ist neu
                    lnk.onclick = myFunction_loeschen;
                    lnk.appendChild(image);
                    field.appendChild(lnk);
                    field.setAttribute('width', 40);
                    line.appendChild(field);


Angehängte Dateien Thumbnail(s)
   
Zitieren
#4
Dazu müsste man das live sehen , bzw muss man den HTML Code sehen der in Browser ankommt
Außerdem nimmt man dafür document.querySelectorAll um alle Buttons abzufragen.

Ich sagte ja schon mal das ich denke das du das alles ganz falsch angehst , doch dafür müsste man das mal als kommplette Seite sehen , am besten Live Link

Dein create Image sehe ich auch als unnutzt. Warum nicht einfach im html einbinden ?
<img scr="web_images/loschen_2.png">

Dann sehe ich auch nicht , wo hier
lnk.href = '?test=' + id;
die id her kommt ?

Man muss schon alles sehen um richtig helfen zu können
Zitieren
#5
(20.05.2022, 17:43)admin schrieb: Dazu müsste man das live sehen , bzw muss man den HTML Code sehen der in Browser ankommt
Außerdem nimmt man dafür document.querySelectorAll um alle Buttons abzufragen.

Ich sagte ja schon mal das ich denke das du das alles ganz falsch angehst , doch dafür müsste man das mal als kommplette Seite sehen , am besten Live Link

Dein create Image sehe ich auch als unnutzt. Warum nicht einfach im html einbinden ?
<img scr="web_images/loschen_2.png">

Dann sehe ich auch nicht , wo hier
      lnk.href = '?test=' + id;
die id her kommt  ?

Man muss schon alles sehen um richtig helfen zu können


Angehängte Dateien
.php   alarmdb.php (Größe: 2,13 KB / Downloads: 1)
.php   monitorOESoft.php (Größe: 8,06 KB / Downloads: 1)
.css   design.css (Größe: 5,32 KB / Downloads: 1)
.js   oesoft.js (Größe: 12,52 KB / Downloads: 1)
Zitieren
#6
Jetzt kann man auch JS Datein hochladen. Schaue mir gleich deine Sachen mal genauer an
Zitieren
#7
Stell das mal online irgendwie , weil da fehlt mir einiges zu und die Datenbanki nachstellen habe ich keine zeit zu. Was soll das eigentlich genau sein ? Kopier mal das HTML was in Browser ankommt und das was nach den createElement von Javascript zu sehen ist , weil so kann ich da erstmal nicht helfen.
Zitieren
#8
(21.05.2022, 19:15)admin schrieb: Stell das mal online irgendwie , weil da fehlt mir einiges zu und die Datenbanki nachstellen habe ich keine zeit zu. Was soll das eigentlich genau sein ?  Kopier mal das HTML was in Browser ankommt  und das was nach den createElement von Javascript zu sehen ist , weil so kann ich da erstmal nicht helfen.

hier zum testen : https://oesoft.de

möchte über den besen (ganz rechts) einzelne datensätze löschen. zum beispiel datensatz 3!
Zitieren
#9
es wird immer die oberste Zeile gelöscht, verstehe es nicht

könnt ihr auch testen : https://oesoft.de
Code:
function myFunction_loeschen() {
    dataString = 'clear='+id;
   $.ajax({
        type: 'POST',
        url: 'monitorOESoft.php',
        data: dataString,
        success: function(response){
             if(response==3711){
            location.href='monitorOESoft.php';
    }
   }    
  });
}

Code:
field = document.createElement('td');
                    if (group=='UNWETTER') {
                    field.style.backgroundColor = elem.getElementsByTagName('background_n')[0].firstChild.nodeValue; }
                    image = document.createElement('img');
                    image.src = 'web_images/besen_2.png';
                    lnk = document.createElement('a');
                    lnk.onclick = myFunction_loeschen;
                    lnk.appendChild(image);
                    field.appendChild(lnk);
                    field.setAttribute('width', 40);
                    line.appendChild(field);

Zitieren
#10
Das ist alles Mist was du da machst. Ich frage mich erstens , warum machst du das mit Javascript ?
Das ganze Html kannst du vorher schon mit Php machen .
Das erspart dir nee menge Javascript Code und nee menge ärger.

Das was wir jetzt machen ist nur noch Flick schusterrei.
Versuch mal in zeile 178 , in der einen js Datei.
Dieses
lnk.onclick = myFunction_loeschen;

mit diesen zu tauschen.
lnk.addEventListener('click',function(){

myFunction_loeschen(id);
})

und dann noch Zeile 262
function myFunction_loeschen() {

in der tauschen
function myFunction_loeschen(id) {


Das es bei dir so nicht geht ist klar, weil deine id in der Schleife ist und immer wieder überschrieben wird.
Die Id die im letzten Durchlöauf stehen geblieben wird , die zählt.

Deswegen sagte ich ja das es alles nicht das ware ist und du das eigentlich falsch angehst.

und createElement('font')
Ist schwachsinn, das Element gibt es nicht mehr , bzw ist veraltet und hat auch irgendwie keine funktion mehr

Du holst jede Sekunde die Daten komplett aus der Datenbank , erstellst jede Sekunde alle Felder wieder neu.
Das macht dir auch alles kaputt. Das ist alles nicht nötig.

Lösch mal <us den ticker die Zeile 248
Das hier
setdata();
komplett raus .
Das brauchst du nicht , vorallem nicht so , weil man eigentlich nur die Daten neu sendet die auch geändert wurden , und dann würde ich dazu JSON Datei nehmen
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
6 Gast/Gäste