PDA

Zobacz pełną wersję : Skrypt w facile forms



zergoth
29-08-2007, 14:58
Witam
Mam pewien problem z skryptem w facile forms, otóż utworzylem dwa radio buttony oba o nazwie prawo jednak odmiennych wartościach wartości te to 1 i 2.
W obu przyciskach jako init script zostal wybrany z biblioteki ff_getfocus z opcja page entry, zas jako action script jest ustawiony custom z opcja change. Oto kod skryptu:

function ff_prawo_action(element, action)
{
switch (action) {
case 'change':
ff_pss_radio();
break;
default:;
}
}

Utworzylem tez pole tekstowe o nazwie taksa z custom validation script o kodzie:

function ff_taksa_validation(element, message)
{
ff_pss_radio();
if (element.value==0) {
ff_validationFocus('prawo');
return message;
} // if
return '';
}

function ff_pss_radio()
{
var wynik = 0;
var x;

x = ff_getElementByName('prawo').value;
if (x == '1') wynik =5;
if (x == '2') wynik =14;


ff_getElementByName('taksa').value = wynik;
}

W zamierzeniu skrypt ma wpisywać w pole taksa liczbę 5 lub 14 w zalerznosci od tego ktory przycisk prawo zostanie wybrany. Obecnie po wybraniu ktoregokolwiek w pole taksa wpisuje sie liczba 5 i nie zmienia sie ona nawet gdy zmieniam zaznaczenia na przyciskach.

Wie ktoś może jak rozwiązać mój problem? Byłbym wdzięczny gdyby ktoś podzielił się wiedzą na ten temat ponieważ ja siedzę od rana nad tym problemem i nie mogę sobie poradzić :-/.
Pozdrawiam
Zergoth

alegorn
29-08-2007, 16:18
a standard DOM i js to juz nie dziala??

ja tam jesli juz pisalem wlasne skrypty w ff, to pobieralem wszystko zwyklymi, standartowymi funkcjami, i zapewniam ze smiga az milo...

czyli zamiast:
x = ff_getElementByName('prawo').value;

pisz:
var x = document.getElementById('tu_id_pola').value;

jak pamietam, id pola jest nawet wyswietlany w tabelce obok... czego wiecej jeszcze potrzeba do szczescia.. ?

nie mam czasu juz dzisiaj by dokladnie przesledzic i przepisac ci ten kod... ale wydaje mi sie ze tak jak proponuje zrobisz szybciej i chyba bardziej czytelnie..
choc oczywiscie to tylko moje zdanie ;)

pozdraw,
Al

zergoth
30-08-2007, 11:36
Niestety technika ta nie pomaga (może nieumiejętnie ją stosuje). Myślę jednak że problem polega na tym iż do pola prawo ff przypisuje wartość 1 niezależnie czy wybiorę radio button z value 1 czy 2, moze dlatego ze maja taka sama nazwe.

alegorn
30-08-2007, 12:04
w dla 1 radiobuttona wstaw odpowiednio:
onchange="klik('5')"
dla drugiego
onchange="klik('14')"

dopisz do strony wlasna funkcje klik

function klik(ids){
document.getElementById('tu_id_pola_taksa').value= ids;
}

musi zadzialac (chyba ze nie zadziala :D ), nic prostrzego juz nie wymyslisz..

da sie to zmodyfikowac, bardziej wkoponowac w ff oczywiscie, ale pobaw sie juz nad tym sam..
toz to proste niczym konstrukcja cepa.. i rownie subtelne. czytaj: PODSTAWY

Al

ps
w ff o ile pamietam mozesz generowac zdazenia dla kazdego radiobuttona osobno. wtedy wystarczy jak wstawisz :
dla pierwszego:
document.getElementById('tu_id_pola_taksa').value= 5;

a dla drugiego
document.getElementById('tu_id_pola_taksa').value= 14;

proste?

robdk
30-08-2007, 13:54
Niestety to chyba nie zadziała.
Ale można zrobić to popzrez ff_setChecked($this, 'name', 'value') w form pieces po submit i sprawdzić czy jest true czy false i wtedy zrobić działanie i ew. redirect spowrotem do formularza...

zergoth
30-08-2007, 14:35
Niestety rozwiązanie podane przez alegorn nie przyniosło pozytywnych efektów choć nie wykluczone że nie jest to wina algorytmu tylko braku umiejetności z mojej strony by go wykorzystać :(. Robdk możesz napisać coś więcej na temat Twojego pomysłu? jestem laikiem w tej kwestii stąd też proszę o instruktaż jak dla nooba.

robdk
30-08-2007, 14:44
Napisz może co chcesz osiągnąć i jakieś założenia bo tak naprawdę to nie do końca wiem jaki efekt chcesz uzyskac i w jakim momencie (przez kliknięcie przycisku ma coś sie robić, czy po wysłaniu formularza informacje na maila itp.)

zergoth
30-08-2007, 14:54
Chcę by w formularzu znajdowaly się miedzy innymi 2 radio buttony i jedno pole tekstowe. Nie zalerzy mi na wysyłaniu tych danych mailem, formularz ma byc pewnego rodzaju kalkulatorem ktory oblicza wartosc pola w zalerznosci od tego czy zostal wybrany radio button 1 czy 2.

robdk
30-08-2007, 15:01
Niestety musze teraz już się udać do domku, ale popołudniu sie przyjrzę...

Jest taki formularz w przykładach z insytalacją o nazwie "Radio Button - Page Switch" w którym zaznaczenie i naciśnięcie przycisku przenosi na odpowiednią stronę. Myślę, że dostosowanie go do własnych potrzeb nie będzie trudne...

zergoth
04-09-2007, 22:37
Mogłby mi ktoś pomóc rozwiązać ten problem? Naprawde zalerzy mi na jego rozwiązaniu a sam mimo usilnych prób nie potrawię tego zrobić.
Pozdrawiam