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

pokazywanie elementu z "display:none;"

42 Warsaw Coding Academy
0 głosów
789 wizyt
pytanie zadane 16 września 2016 w JavaScript przez Pieczenieg Początkujący (290 p.)

Cześć wszystkim :) Otóż mam diva, w którym siedzi formularz edycji i na starcie ma on atrybut display:none;

Po kliknięciu w przycisk ma się on pojawić, i się pojawia, tylko że na krótką chwilę. Co może być tego przyczyną? Konsola nie pokazuje żadnych błędów.

Kod w JS:

function pokazuj()
{
	 document.getElementById("edytuj").style.display = "block";	
}

Z góry dziękuję za każdą pomoc :)

2 odpowiedzi

+1 głos
odpowiedź 16 września 2016 przez niezalogowany

dopisz 

return false;

do funkcji

 

komentarz 17 września 2016 przez Pieczenieg Początkujący (290 p.)
Tutaj faktycznie działa, ale wziąłem sobie skopiowałem skrypty jsa i wkleiłem u siebie. Zamieniłem id linku na id guzika do edycji (który służy również do przesłania formularza) i wyskoczył mi błąd "Cannot read property 'addEventListener' of null". Dlaczego?
komentarz 17 września 2016 przez niezalogowany
Nie wiem... analizuj... analizuj... i jeszcze raz analizuj

masz tam jakiegoś ajaxa, może to ci psuje coś...

nie mam pojęcia, jestem zwolennikiem czytego js
komentarz 17 września 2016 przez Pieczenieg Początkujący (290 p.)
To jest podłączenie jquery od google'a. I też wolę czystego jsa, ale chciałem sprawdzić, czy da radę to zrobić z jquery. Dobra, będę kombinował, dzięki mordo za pomoc :)
1
komentarz 17 września 2016 przez niezalogowany
edycja 18 września 2016

Teraz tak się zastanawiam, że z <form> moje poprzednie wypociny nie zadziałają...

Spróbuj poniższego kodu:

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
 
<h1>My First Heading</h1>
<p>My first paragraph.</p>
 
<div id="edytuj" style="width: 100px; height: 100px; border: 1px solid black; display: none;"></div>
 
 


<form onsubmit="return linkclk()"  action="#" method="post">
  First name: <input type="text" name="fname"><br>
  Last name: <input type="text" name="lname"><br>
  <input type="submit" value="Submit">
</form>


<script>
function linkclk() { 
document.getElementById("edytuj").style.display = "block";
return false;
}
</script>
 
 
 
</body>
</html>

http://lk.legnica.pl/test01/

komentarz 18 września 2016 przez Pieczenieg Początkujący (290 p.)

Zadziałałoby, tylko że tam są dwa submity, jeden do usuwania, drugi do edycji ;/ Ale znalazłem rozwiązanie ^^ Wygląda ono tak:

 

	if (isset($_POST['edytuj']))
						{
							echo '
								<script>
									pokazuj();
								</script>
							
							';
							unset ($_POST['edytuj']);
						}
	

'Edytuj', to name tego submita do edycji, a funkcja pokazuj to zwykłe:
    document.getElementById("edytuj").style.display = "inline";
 A zatwierdzenie formularza edycji (tego który się pokazuje w divie o id = 'edytuj') , chowa go spowrotem. Wiem, że przekombinowane, ale musiało to być w ten sposób, żeby działało tak jak miało działać. Jeszcze raz dzięki wielkie za pomoc i poświęcony czas :)

0 głosów
odpowiedź 16 września 2016 przez k.wichura Pasjonat (19,870 p.)

Spróbuj jquery.

$(document).ready(
    function(){
        $("#button").click(function () {
            $("#edytuj").show("normal");
        });

    });

 

Podobne pytania

0 głosów
2 odpowiedzi 314 wizyt
pytanie zadane 21 lutego 2019 w JavaScript przez Jakub Domacki Użytkownik (660 p.)
0 głosów
1 odpowiedź 1,233 wizyt
0 głosów
0 odpowiedzi 1,070 wizyt
pytanie zadane 8 grudnia 2017 w JavaScript przez MakaBresk Obywatel (1,060 p.)

93,398 zapytań

142,390 odpowiedzi

322,577 komentarzy

62,756 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...