Javascript-forum
wert aus document.getElementById() an Ajax übergebe - Druckversion

+- Javascript-forum (https://javascript-forum.de)
+-- Forum: Entwicklung (https://javascript-forum.de/forumdisplay.php?fid=4)
+--- Forum: Javascript (https://javascript-forum.de/forumdisplay.php?fid=6)
+--- Thema: wert aus document.getElementById() an Ajax übergebe (/showthread.php?tid=1708)



wert aus document.getElementById() an Ajax übergebe - Thomas - 23.10.2022

Hallo
ich habe ein Problem für das ich aktuell nach langem suchen und Testen keine Lösung finde und einfach nicht weiter komme.

Ich bekomme aus einem externen Script über document.getElementById("ABC")
einen Wert geliefert welchen ich an ein Ajax Script übergeben möchte. Im Div wird der Ausgabewert angezeigt.



Code:
<div id="ABC"></div>

Wie bekomme ich diesen Wert (ABC) in den nachfolgende Script als Parameter und entsprechend an die aufgerufene Seite.

Code:
<div id="start">Seite aufrufen</div>

$("#start").click(function() {
Code:
  var option = $("#ABC").val();
Code:
  $.ajax({
Code:
    success: function() {
Code:
      $("#scan-result-text").load("erfolg.asp", "" + option +"").hide().fadeIn(300);
Code:
    }
Code:
  });
Code:
});
Code:
</script>



Für jede Hilfe schon an dieser Stelle meinen herzlichen Dank
Gruß
Thomas


RE: wert aus document.getElementById() an Ajax übergebe - admin - 24.10.2022

Das ist schon mal falsch
var option = $("#ABC").val();
das sollte so besser sein
var option = $("#ABC").html();

Das ist auch Murks
Code:
$.ajax({
Plain text
    success: function() {
Plain text
      $("#scan-result-text").load("erfolg.asp", "" + option +"").hide().fadeIn(300);
Plain text
    }
Plain text
  });


Was soll das Ajax den da , du nutzt doch schon load();
Ob load() überhaupt Parameter übergeben kann, weiß ich gerade nicht, habe gerade keine Zeit zu googeln.

Mit Ajax sollte es so ungefähr gehen
Code:
$.ajax({
        type: 'POST',
        url: 'erfolg.asp',
        data: {wert:$("#ABC").html()},
        success: function(response){
                        $("#scan-result-text").html(response).hide().fadeIn(300);
              }
      });
Code ist jetzt nicht getestet , aber so ungefähr würde ich das machen.
Du solltest dann auch noch schauen, ob du GET oder POST nutzten tust


RE: wert aus document.getElementById() an Ajax übergebe - rzscout - 25.10.2022

Hallo Thomas,
ersteinmal bezieht sich die val()-Funktion von jQuery auf ein Value-Wert von inputfeldern. Da dieses aber ein DIV-Element ist und der Inhalt ein Childnode ist, musst du da ganz anders vorgehen.

Code:
wert = document.querySelector("#abc").textContent;

Code:
let xhr = new XMLHttpRequest();
let myFormData = new FormData();
myFormData.append('abc', wert);
xhr.open('POST', "erfolg.asp");
xhr.addEventListener('readystatechange', ()=>{
    if(xhr.status === 200 && xhr.readyState === 4) {
        document.querySelector("#scan-result-text").textContent = xhr.responseText;
    }
});
xhr.send(myFormData);