Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wywoływanie funkcji PHP z onChange() w SELECT, Czy można wywołac funkcje php a nie javascript?
poorman
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 25.11.2009
Skąd: zakopane hej!

Ostrzeżenie: (0%)
-----


Chce skorzystac z funkcj w PHP poniewaz korszytałem z javascriptowj jednak musiałem zmienna przesyłac spowrotem do php(cookies, form get i post, hidden input itd). Bardzo prosze o pomoc poniewaz dale to nie dziala .

  1. function test($box)
  2. {
  3. //global $zmienna;
  4. //$zmienna = $box;
  5. echo("<script LANGUAGE='JavaScript'>
  6. window.alert('wywolana!')
  7. </SCRIPT>");
  8. }


  1. <select id="category" name="eq" onchange="test('this.value')";>
  2. <? while ($row = mysql_fetch_assoc($resultCat))
  3. {
  4. echo "<option ";
  5. if ($row['name']==$cat_table[$products['product_id']])
  6. {
  7. echo "selected=\"selected\"";}
  8. echo " value=\"".$cat_table2[$row['name']]."\">".$row['name']."</option>";
  9. ?>}


a pozniej korzystam ze zmiennej:
<a href="#" onclick="fupdateProduct(<?=$zmienna?>); return false;">[save]</a>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
poorman
post
Post #2





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 25.11.2009
Skąd: zakopane hej!

Ostrzeżenie: (0%)
-----


Chce tylko zrobic dynamiczne wywołanie w liscie rozwijanej "SELECT" za pomoca eventa "OnClicick()" tak ze po wybraniu powiedzmy napisu "kategoria 2" zmiennej globalnej "zmienna" przypisywało wartość "value" z "SELECT" a na koncu korzystało z funckji javascript'owej "fupdateProduct" w innym pliku. Tylko mam problem z wywołaniem funckji PHP'owej wlasnie. javacsriptowa dziala ale lepiej by było w php bo nie musiałbym przesyłac znowu zmiennej. Nie wiem czy to lepiej czy nie poniewaz kod php jest wykonywany na serwerze wiec z teg co mi wiadomo lepiej by było w javacript ale łatwiej jest w php. Mysle ze chyba wyjasniłem problem. Głownie nie chce mi dzialac wywołanie funkcji. a co do błedó na konsoli to nie bardzo pomoge ;]
  1. <?php
  2.  
  3. function test($box)
  4. {
  5. // global $zmienna;
  6. $zmienna = $box
  7. }
  8.  
  9. //$count=1;
  10. while ($row = mysql_fetch_assoc($resultMil))
  11. {
  12. echo "<div id=\"milk-".$row['milk_id']."\">
  13. <input type=\"hidden\" class=\"milk\" value=\"".$row['milk_id']."\"/>".$row['name']."&nbsp; <a href=\"#\" onclick=\"fdeleteMilk(".$row['milk_id'].", "."'".$row['name']."'); return false;\">[delete]</a></div>";
  14. ()+'\')
  15.  
  16. }
  17. ?>
  18. </td>
  19. <td>
  20. <select id="category" name="eq" onchange="test('this.value')";>
  21. <?php
  22. while ($row = mysql_fetch_assoc($resultCat))
  23. {
  24. echo "<option ";
  25. if ($row['name']==$cat_table[$products['product_id']])
  26. {
  27. echo "selected=\"selected\"";}
  28. echo " value=\"".$cat_table2[$row['name']]."\">".$row['name']."</option>";
  29. }
  30. ?>
  31. </select>
  32. </td>
  33.  
  34.  
  35. </tr>
  36. <tr>
  37. <td colspan="2">
  38. <input type="hidden" id="id" value="<?=$products['product_id']?>"/>
  39.  
  40. <a href="#" onclick="fupdateProduct(<?=$zmienna?>); return false;">[save]</a>
  41. </td>
  42. </tr>

P.S. Najlepiej to by było wyciagnąć zawartość z SELECT'a z wartosci NAME zaznaczonej w PHP i umiesic w funkcji "fUpdate()" tylko nie wiem czy sie da.
w javascript sie da za pomoca
  1. "document.FormName.eq.selectedIndex.name"
ale znowu trzeba przesyłać do PHP zmienną !


Ten post edytował poorman 30.11.2009, 04:19:07
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 15:47