Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript]Formularzyk do edycji
Forum PHP.pl > Forum > Przedszkole
xamrex
Witam,
Zrobiłem sobie taką stronkę, gdzie wyświetlane są dane jakiegoś użytkownika:
Tutaj podglądowy obrazek:


Wyświetlanie wyników już zrobiłem,
Napisałem warunek, że jeśli jakaś osoba nie uaktualniła np. Adresu to pojawia mu się napis KLIK (Oczywiście jeżeli adres byłby podany, to zamiast słowa KLIK byłby tam po prostu jego adres)

Teraz chcę zrobić, aby po kliknięciu w słowo KLIK otworzyło się pole w którym można by dodać informacje na temat adresu.
1)Myślałem o wyskakującym okienku w którym podawałoby się ten Adres, ale wiele osób ma blokadę na wyskakujące okienka, więc szukałem innego rozwiązania.
Wymyśliłem, że potrzebuję chyba czegoś w JS.
Mianowicie po kliknięciu w ten przycisk KLIK, znikałoby słowo Klik i pole stawałoby się aktywne do pisania
Coś takiego:


W jaki sposób mogę to zrobić?
Albo macie może jakieś inne pomysły?
outsider
prosty przyklad:
Kod
<html>
<body>

<script type="text/javascript">
function createInputForm(anchor)
{
    inp = document.createElement("input");
    inp.setAttribute("type", "text");

    anchor.parentNode.appendChild(inp);  
    anchor.style.display = 'none';    
    return true;
}
</script>

<div id="lol">
<a href="#" onclick="createInputForm(this); return false;">KLIK</a>
</div>
</body>
</html>
xamrex
a w jaki sposób mogę ustawić tam np. takie parametry:
  1. <form method="post">
  2. <input type="text" name="tresc" /><br />
  3. <input type="submit" value="Wyślij">


Próbowałem dodać np.
  1. <script type="text/javascript">
  2. function createInputForm(anchor)
  3. {
  4. inp = document.createElement("input");
  5. inp.setAttribute("type", "text");
  6. inp.setAttribute("type", "submit");
  7. anchor.parentNode.appendChild(inp);
  8. anchor.style.display = 'none';
  9. return true;
  10. }

Ale teraz to mam tylko pole typu submit, i nie mogę dodawać tekstu ;(
everth
Skrypt jest błędny:
[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2. function createInputForm(anchor)
  3. {
  4. input = document.createElement("input");
  5. input.setAttribute("type", "text");
  6. input.setAttribute("name", "twojName");
  7.  
  8. submit = document.createElement("input");
  9. submit.setAttribute("type", "submit");
  10.  
  11. parent = anchor.parentNode;
  12. parent.appendChild(input);
  13. parent.appendChild(submit);
  14.  
  15. anchor.style.display = 'none';
  16. return true;
  17. }
  18. </script>
[JAVASCRIPT] pobierz, plaintext
outsider
wtedy musisz dodac 3 elementy
  1. <script type="text/javascript">
  2. function createInputForm(anchor)
  3. {
  4. inp = document.createElement("input");
  5. inp.setAttribute("type", "text");
  6. anchor.parentNode.appendChild(inp);
  7.  
  8. inp = document.createElement("br");
  9. anchor.parentNode.appendChild(inp);
  10.  
  11. inp = document.createElement("input");
  12. inp.setAttribute("type", "submit");
  13. anchor.parentNode.appendChild(inp);
  14.  
  15. anchor.style.display = 'none';
  16. return true;
  17. }
xamrex
Zrobiłem sobie coś takiego:
Kod
<html>
<form method="post">
<script type="text/javascript">
function createInputForm(anchor)
{
    
    input = document.createElement("input");
    input.setAttribute("type", "text");
    input.setAttribute("name", "twojName");

    submit = document.createElement("input");
    submit.setAttribute("type", "submit");

    parent = anchor.parentNode;
    parent.appendChild(input);  
    parent.appendChild(submit);

    anchor.style.display = 'none';    
    return true;
}
</script></form>  

<div id="lol">
<a href="#" onclick="createInputForm(this); return false;">KLIK</a>
</div>
</html>
<?php
$tresc = $_POST['twojName'];
echo $tresc;
?>


No ale nie wyświetla mi tego co wpiszę sad.gif
Wydaje mi się, że ten przycisk nie działa (nie przeładowuje strony) i nie idzie $_POST, ale mogę się mylić.
W jaki sposób mogę to zrobić?
mrc
  1. <script type="text/javascript">
  2. function createInputForm(anchor)
  3. {
  4.  
  5. input = document.createElement("input");
  6. input.setAttribute("type", "text");
  7. input.setAttribute("name", "twojName");
  8.  
  9. submit = document.createElement("input");
  10. submit.setAttribute("type", "submit");
  11.  
  12. parent = anchor.parentNode;
  13. parent.appendChild(input);
  14. parent.appendChild(submit);
  15.  
  16. anchor.style.display = 'none';
  17. return true;
  18. }
  19.  
  20. <div id="lol">
  21. <form action="twoj_plik_do_obrobki_danych" method="POST">
  22. <a href="#" onclick="createInputForm(this); return false;">KLIK</a>
  23. </form>
  24. </div>
  25. </html>


// Sorry, nie zauwazylem tych form'ów koło <script>, robiłem na szybko smile.gif
outsider
tak jak kolega powyzej, do tego musisz dodac znacznik <form>, albo generowac go dynamicznie.

PS. Skasuj ten form ktory jest przed i po znaczniku <script>, bo tak sie tego nie robi smile.gif <form> musi obejmowac input'y do przeslania
xamrex
Sorry, że odświeżam temat, ale jako że używam firefoxa, nie zauważyłem, że na IE nie działa
Więc mamy taki kodzik:
  1. <script type="text/javascript">
  2. function createInputForm(anchor)
  3. {
  4.  
  5. input = document.createElement("input");
  6. input.setAttribute("type", "text");
  7. input.setAttribute("name", "twojName");
  8.  
  9. submit = document.createElement("input");
  10. submit.setAttribute("type", "submit");
  11.  
  12. parent = anchor.parentNode;
  13. parent.appendChild(input);
  14. parent.appendChild(submit);
  15.  
  16. anchor.style.display = 'none';
  17. return true;
  18. }
  19.  
  20. <div id="lol">
  21. <form action="twoj_plik_do_obrobki_danych" method="POST">
  22. <a href="#" onclick="createInputForm(this); return false;">KLIK</a>
  23. </form>
  24. </div>
  25. </html>


No i po kliknięciu w link KLIK na Firefoxie działa, lecz na IE nie.
W czym może być problem?


Jak skorzystam z tego skryptu co jest w tym poście:
http://forum.php.pl/index.php?showtopic=15...st&p=775724
To na IE nie działa przycisk SUBMIT (po kliknięciu nic się nie dzieje)
outsider
a właśnie że nie korzystasz z tego skryptu tylko z kolegi powyżej, który użył
Kod
parent = anchor.parentNode;

co wyrzuca błąd. Użyj mojego skryptu(z poprzedniego postu) i wszystko będzie działać winksmiley.jpg

Zmień jeszcze ten kawałek kodu na taki:
Kod
<form action="twoj_plik_do_obrobki_danych" method="POST">
<div id="lol">
    <a href="#" onclick="createInputForm(this); return false;">KLIK</a>
</div>
</form>
xamrex
dzięki biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.