Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Problem z modyfikacją href w znaczniku <a ...
Forum PHP.pl > Forum > Przedszkole
bonio89
Witam,
Mam skrypt do dopisywania parametru do hiperłącza. Problem w tym gdy podaje zmienna na wejściu i niby jest poprawna to wywala błąd: Uncaught TypeError: Cannot read property 'href' of null.

  1. <!doctype html>
  2. function modUrl(mid, idUrl){
  3. var tmp=document.getElementById(idUrl).href;
  4. tmp=tmp+'&mid='+mid;
  5. //alert (tmp);
  6. document.getElementById(idUrl).href=tmp;
  7.  
  8. }
  9. <meta charset="utf-8">
  10. <title>Dokument bez tytułu</title>
  11. </head>
  12.  
  13. <select name="todo">
  14. <script>modUrl("123", "urlS_1");</script>
  15. <option value="123" onClick="modUrl('123', 'urlS_1')">123</option>
  16. <option value="321" onClick="modUrl('321', 'urlS_1')">321</option>
  17. </select>
  18. <a id="urlS_1" href="index.php?page=test&action=sell&which=2">sprzedaj</a>
  19. </body>
  20. </html>
trueblue
Wyjmuj <script> z <select> i umieść za nim.
Miej na uwadze, że w ten sposób będziesz wciąż dopisywać parametr mid od url.
bonio89
trueblue, dałem za hiperłączem. Teraz ustawia wartość początkową ale po zmienieniu pozycji na liście nic się nie dzieje:(
trueblue
  1. <select name="todo" onchange="modUrl(this.value,'urlS_1')">

A onclick z opcji wyrzuć.
Nie widzę również sensu przekazywania do funkcji id tagu <a>.
bonio89
Dzięki za nakierowanie, zrobiłem tak:

  1. <!doctype html>
  2. function modUrl(mid, idUrl){
  3. var url=document.getElementById(idUrl).href;
  4. url=url+'&mid='+mid;
  5. //alert (tmp);
  6. document.getElementById(idUrl).href=url;
  7.  
  8. }
  9. <meta charset="utf-8">
  10. <title>Dokument bez tytułu</title>
  11. </head>
  12.  
  13. <body>
  14. <select name="todo" onChange="modUrl(this.options[this.selectedIndex].value, 'urlS_1')">
  15. <option value="123">123</option>
  16. <option value="321">321</option>
  17. </select>
  18. <a id="urlS_1" href="index.php?page=test&action=sell&which=2">sprzedaj</a>
  19. <script>modUrl("123", "urlS_1");</script>
  20. </body>
  21. </html>
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.