Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tworzenie nowej wartosci przycisku
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
smarcz
Kod:

  1. <script type="text/javascript">
  2. function zadanie(przycisk) {
  3. var form = document.getElementById("adminForm");
  4. document.adminForm.zadanie.value=przycisk;
  5. form.submit();
  6. return false;
  7. }
  8.  
  9. <a href="#" onclick="java script: zadanie('save')" class="przycisk">
  10. <a href="#" onclick="java script: zadanie('zastosuj')" class="przycisk">
  11. <a href="#" onclick="java script: zadanie('usun')" class="przycisk">


Chciałbym zrobić następującą rzecz - po naciśnięciu odpowiedniego przycisku wykonuję funkcję
którą będę przetwarzał w PHP i wykonywał stosowne zmiany!

problem w tym, nie pojawia mi się wartość dla zdefiniowanego przycisku zadanie: komunikat:
document.adminForm.zadanie is undefinedquestionmark.gif i nie przekazuje formularza!

Co zrobić?
darko
Sorry, o co Ci chodzi? dry.gif

Gdzie tu masz jakiś formularz? Podaj cały blok kodu, o którym mamy rozmawiać.

To, co jest tutaj:

Kod
function zadanie(przycisk) {
var form = document.getElementById("adminForm");
document.adminForm.zadanie.value=przycisk;
form.submit();
return false;
}


próbuje wstawić łańcuch 'save', 'zastosuj' lub 'usuń' (w zależności w co klikniesz) do kontrolki (inputa, textarea?) o nazwie zadanie na formularzu o nazwie adminForm. Problem w tym, że prawdopodobnie nie masz takiego formularza. Kurcze, co Ty chcesz zrobić człowieku, napisz dokładnie, bo trzeba zgadywać... sciana.gif

smarcz
Ok. Masz rację - może niezbyt jasno się wyraziłem przedstawiając fragment kodu.

Mam formularz o znacznikach <form id="AdminForm">

ten formularz nie posiada pola o nazwie <input name="chceck"> lub <input name="zadanie">.

Chodzi mi o to, aby w momencie wywołania przycisku o nazwie - zapisz - wysłać POSTa z dodatkowym polem - np: zadanie.
Na tej podstawie wykonam odpowiednie przetworzenie danych w PHP.

Poradziłem sobie z tym problemem ale w momencie kiedy do obecnego formularza wstawie INPUTa o nazie zadanie <input id="zadanie"> - jeżeli on istnieje - mogę zmieniać jego wartość za pomocą JAVY, ale czy da się to zrobić aby go wygenerować dopiero w momencie kliknięcia przycisku?

  1. <form action="<?=$_SERVER['PHP_SELF'];?>" method="post" name="adminForm" id="adminForm" autocomplete="off">
  2. <div id="config-document">
  3. <!--Załaduj podstronę #1-->
  4. <?include('skladniki_html/formularz1.php');?>
  5. <!--Załaduj podstronę #2-->
  6.  
  7. <!--Załaduj podstronę #3-->
  8. </div>
  9. <div class="clr"></div>
  10.  
  11. <input type="hidden" name="task" id="task" value="">
  12. </form>


  1. <script type="text/javascript">
  2. function zadanie(przycisk) {
  3. var form = document.getElementById("adminForm");
  4.  
  5. var nowy = document.getElementById("task");
  6. nowy.value = przycisk;
  7.  
  8. form.submit();
  9. return false;
  10. }

darko
Cytat
ale czy da się to zrobić aby go wygenerować dopiero w momencie kliknięcia przycisku?

Tak
Kod
<script type="text/javascript">
function zadanie(przycisk) {
  var form = document.getElementById("adminForm");

  var nowy = document.createElement('input');
  nowy.setAttribute("type","hidden");
  nowy.setAttribute("value",przycisk);

  form.appendChild(nowy);
  form.submit();

  return false;
}
</script>
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.