Προς το περιεχόμενο

Ajax απορία


djapal

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλημέρα.

Έχω την εξής απορία:

Έστω ότι έχω το παρακάτω κομμάτι κώδικα...

 

>
function replace() {
 http.open("GET", "a.jsp", true);
 http.onreadystatechange=function() {
   if(http.readyState == 4) {
     var x = http.responseText;
     document.getElementById('foo').innerHTML = ????
   }
 }

 

Αυτό που θέλω είναι να παίρνει μια συγκεκριμένη τιμή από την HTML που επιστρέφει. Γνωρίζω ότι το id του tag που με ενδιαφέρει είναι το "test2". Πως μπορεί να γίνει αυτό; Με x.getELementById("test2") δε δουλεύει πάντως.

Καμιά ιδέα κανείς;

 

Edit: Υπάρχει η εξής μπακαλιά:

 

var x1 = x.indexOf("<div id=\"test2\">") + "<div id=\"test2\">".length;

var y = x.indexOf("</div>",x1) - x1;

 

και μετά να πάρεις το substring, αλλά αν υπάρχει κάποιος πιο σωστός τρόπος, πείτε τον να τον μάθουμε!

Δημοσ.

Το http τι object ειναι; μηπως εχει καποιο property που σου δινει το document object της σελιδας; και μετα απο εκει να κανεις το document.getElementById('foo').innerHTML = 'κατι';;;

Δημοσ.

Από την στιγμή που το x είναι text (string object) και όχι Dom object ο μόνος τρόπος για να πάρεις αυτό που θέλεις είναι με την μπακαλιά που αναφέρεις (ή με κάποια άλλη μπακαλιά που περιλαμβάνει string functions)

Δημοσ.
Από την στιγμή που το x είναι text (string object) και όχι Dom object ο μόνος τρόπος για να πάρεις αυτό που θέλεις είναι με την μπακαλιά που αναφέρεις (ή με κάποια άλλη μπακαλιά που περιλαμβάνει string functions)

 

Μωρέ αν ήταν XML θα μπορούσα να παίξω με τη

var MyresponseXML = new DOMParser().parseFromString(x, 'text/xml');

 

Αλλά στην html μπορεί να υπάρχουν - και συμβαίνει πολλέεες φορές - tags που δεν κλείνουν, βλέπε <br> το πολύ απλό.

Δημοσ.

ΟΚ παίδες, ευχαριστώ για τη βοήθεια!

Τελικά έγινε με τον μπακαλίστικο τρόπο αυτή τη φορά!

Για την επόμενη βλέπουμε ;)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...