Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Wartość domyślna parametru
Forum PHP.pl > Forum > Przedszkole
WojtasSP320
Sorry, siedzę po piwku i łeb mnie trochę boli, ale googluję już z pół godziny i nic nie mogę znaleźć, a wiem że się da tylko taki głupi błąd wyskakuje... Już mówię o co chodzi:

Kod
function toggle(ID,menu,item,URL=false)
{
    e = document.getElementById(ID);
    if (e.style.display=='block')
    {
        e.style.display='none';
        if (menu=='wyroby') {wyroby-=item;}
        if (menu=='cennik') {cennik-=item;}
        if (menu=='deklaracje') {deklaracje-=item;}
        if (menu=='instrukcje') {instrukcje-=item;}
    }
    else
    {
        e.style.display='block';
        if (menu=='wyroby') {wyroby+=item;}
        if (menu=='cennik') {cennik+=item;}
        if (menu=='deklaracje') {deklaracje+=item;}
        if (menu=='instrukcje') {instrukcje+=item;}

        if (URL!=false) {goToMenuItem(URL);}
    }
    return false;
}


chodzi o to, że po wywołaniu funkcji toggle() bez podania ostatniego parametru (URL) przyjmie on wartość false i nie wykona się goToMenuItem(URL), a po podaniu parametru URL funkcja goToMenuItem przejdzie do URL. Tylko fireBug wypluwa "missing ) after formal parameters" w lini 1.

Jak to się kurdę robiło, bo już sam nie wiem...
POMOCY!! (z góry dziękuję )
bim2
Kod
var URL = true;

function toggle(ID,menu,item,URL)
{


Tak smile.gif

PS. Chyba
skowron-line
Cytat(bim2 @ 5.09.2008, 05:43:57 ) *
Kod
var URL = true;

function toggle(ID,menu,item,URL)
{


Tak smile.gif

PS. Chyba

Napewno
lord_t
@skowron-line: kpisz?
  1. <script type="text/javascript">
  2. <!--
  3. var URL=true;
  4. function x(URL)
  5. {
  6. alert(URL);
  7. }
  8.  
  9. x(); //=>undef.
  10. x(false);//=>false
  11. //-->


Na szybko:
Kod
function x(URL)
{
if(URL==undefined) URL=true;
alert(URL);
}
WojtasSP320
Tak, tylko że URL = true będzie ustawiane tylko raz - na początku skryptu a mi chodzi o to, żeby było ustawiane z każdym wywołaniem funkcji, bo zmieniłem metodę i zamiast przeładowywać stronę, to ładuję tylko część AJAXem i jak już raz ustawię jakiś adres to on już zostanie tak, aż do następnego podania URL...

Więc nie do końca mi o to chodziło sad.gif

Bardziej interesowało by mnie to, co działa we wszystkich innych językach, czyli foo(a,b=false) {}

Nie wiem czemu to tylko w JS nie działa.
nospor
przeciez dostales juz wlasciwy kod:
  1. <?php
  2. function x(URL)
  3. {
  4. if(!URL) URL=true;
  5. alert(URL);
  6. }
  7. ?>

w js nie ma stylu zapisu przy paramatrach: par = costam
Musisz to obsluzyc w funkcji jak podano wyzej
lord_t
Wojtas podałem rozwiązanie w drugim kodzie (ew. możnaby tam jeszcze sprawdzac czy ==null)
WojtasSP320
Sorry, musiałem nie zauważyć postu niżej, albo po prostu dodałem mój post po długim czasie nieodświeżania i go po prostu nie widziałem. rolleyes.gif

Dzięki za rozwiązanie...
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.