• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Uncaught TypeError: Cannot set property 'innerHTML' of null

0 głosów
216 wizyt
pytanie zadane 29 czerwca 2018 w JavaScript, jQuery, AJAX przez wiktoz Mądrala (5,640 p.)
zamknięte 30 czerwca 2018 przez wiktoz

Witam,

zamysł skryptu jest taki, żeby po naciśnięciu przycisku wykonał się ajax, który dodaje rekord do bazy danych, a napis na przycisku się zmienia.

Wyświetlam za pomocą PHP (w pętli) przyciski

$i = 0;
while($row = $result->fetch_assoc())
{
    $addid = $row['id'];
    $result2 = $connect->query("SELECT * FROM requests WHERE (id_inviting='$id' OR  id_inviting='$addid') 
    AND (id_invited='$id' OR id_invited='$addid') AND flag='1'");
    
    $result3 = $connect->query("SELECT * FROM requests WHERE id_inviting='$id' 
    AND id_invited='$addid' AND flag='0'");
    
    echo "<div class='resultbuttonbox'>";
    
    if(($result2->num_rows)==1) 
    echo "<div id='resultbuttongrey divnumber".$i."'><button class='addfriendgrey' onclick='remove(".$addid.",".$id.",".$i.")'>
    <i class='icon-user-delete'></i>Usuń znajomego</button></div>";
    
    elseif(($result3->num_rows)==1) echo "<div id='resultbuttongrey divnumber".$i."'><button class='addfriendgrey' onclick='remove(".$addid.",".$id.",".$i.")'>
    <i class='icon-spin1'></i>Anuluj zaproszenie</button></div>";
    
    elseif($addid==$id) echo "<div class='resultyou'>Ty</div>";
    
    else echo "<div id='resultbutton divnumber".$i."'><button class='addfriend' onclick='addfriend(".$addid.",".$id.",".$i.")'>
    <i class='icon-user-add'></i>Dodaj znajomego</button></div>";
    
    echo "</div>";
    
    $i++;
}

a moje funkcje w js wyglądają tak:

function addfriend(id,cid,i){
			$.ajax({
				url: "../query/add.php",
				data: {id: id, cid: cid},
				type: "GET",
				success: function(i){
					console.log("good");
					document.getElementById("'divnumber" + i + "'").innerHTML = "Wysłano zaproszenie!";
			},
			error: function(){
				console.log("error");
			}
		});
	}
			
	function remove(idremove,cidremove,i){
		$.ajax({
			url: "../query/remove.php",
			data: {idremove: idremove, cidremove: cidremove},
			type: "GET",
			success: function(i){
				console.log("good");
				document.getElementById("'divnumber" + i + "'").innerHTML = "Usunięto ze znajomych!";
			},
			error: function(){
					console.log("error");
			}
		});
	}

próbowałem dodać kod JS na sam dół body i nadal nie działa :(

Błąd, który się wyświetla, to: Uncaught TypeError: Cannot set property 'innerHTML' of null.

Proszę o pomoc!

komentarz zamknięcia: Rozwiązane!
komentarz 29 czerwca 2018 przez Chess Maniak (72,430 p.)

@wiktoz, z czym teraz jest problem? Przecież @maly napisał jak ma wyglądać argument w nawiasie.

komentarz 29 czerwca 2018 przez wiktoz Mądrala (5,640 p.)
Problem taki, że "divnumber" +i nadal nie działa
komentarz 29 czerwca 2018 przez Mariusz08 Nałogowiec (49,140 p.)
Pokaż jak to robisz
komentarz 29 czerwca 2018 przez wiktoz Mądrala (5,640 p.)

Ustaliłem przed chwilą, że jest to wina tego, że zmienna 'i' w ogóle nie dociera do tej funkcji.

Daję jeszcze raz aktualny kod

function remove(idremove,cidremove,i){
	$.ajax({
		url: "../query/remove.php",
		data: {idremove: idremove, cidremove: cidremove},
		type: "GET",
		success: function(i){
			console.log("good");
			document.getElementById("divnumber"+i).innerHTML = "Usunięto ze znajomych!";
		},
		error: function(){
				console.log("error");
		}
	});
}
echo "<div id='divnumber".$i."'><button class='remove' onclick='remove(".$addid.",".$id.",".$i.")'>
<i class='icon-user-add'></i>Usuń znajomego</button></div>";

 

komentarz 30 czerwca 2018 przez wiktoz Mądrala (5,640 p.)

Dobra zrobiłem to tak i działa:

success: document.getElementById("divnumber"+i).innerHTML = "Usunięto ze znajomych!",

usunąłem po prostu zbyteczną funkcję i działczy ;)

Podobne pytania

0 głosów
2 odpowiedzi 1,915 wizyt
pytanie zadane 21 marca 2017 w JavaScript, jQuery, AJAX przez Seabool Nowicjusz (150 p.)
0 głosów
1 odpowiedź 433 wizyt
Porady nie od parady
Zadając pytanie postaraj się o szczegółowe opisanie problemu oraz udostępnienie wszystkich istotnych informacji (kody źródłowe, zrzuty ekranu itp.).Opisanie problemu

67,116 zapytań

114,063 odpowiedzi

241,764 komentarzy

47,028 pasjonatów

Przeglądających: 201
Pasjonatów: 11 Gości: 190

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...