Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jedna funkcja obsługująca kilka przycisków
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
kumi
Mam na stronie kilka formularzy typu:

<form name="first" method="post">

<input name="source" type="text" value="0" style="float: left; width: 62px;" />
<input name="product" type="text" value="0" style="float: right; width: 62px;" />
<button type="button" onClick="buy(wm1)" style="float: left; width: 70px;">BUY</button>
<button type="button" style="float: right; width: 70px;">SELL</button>

</form>

Jak widać pierwszy button wywoluje przy naciśnięciu funkcję buy() z parametrem wm1, gdzie wm1 jest obiektem z kilkoma parametrami:

function buy(wm_selector) {
var gold = $('input[name=gold]').val();
var prize = wm_selector.prize;
if(gold>=prize) {
gold-=wm_selector.prize;
$('input[name=gold]').val(gold);
wm_selector.source++;
$('input[name=source]').val(wm_selector.source);
}
else alert('Niestety nie posiadasz srodkow do zakupu tego surowca');
}

Tak jak wspomniałem mam kilka takich samych formularzy w których input[name=source] stąd pytanie jak zrobić aby wpisywał wartość source tylko do tego jednego inputa, z którego formularza jest wywoływana funkcja?
nospor
uzywaj bbcode

No a nie mozesz dodac drugiego parametru do funkcji, ktory bedzie identyfikował formularz?
kumi
Cytat(nospor @ 20.04.2010, 14:37:15 ) *
uzywaj bbcode


W tym rzecz, że nie moge winksmiley.jpg Cały projekt mam do napisania w JS + jakaś bibliotek. Jako bibliotekę wybrałem jQuery i próbowałem wcześniej zrobić to za pomocą jednego eventu niestety nie przeszło, a wyglądało tak:

$(':button[name=buy1]').click(function(this.value) {
aaa = this.value;
var gold = $('input[name=gold]').val();
var prize = aaa.buy_prize;
if(gold>=prize) {
gold-=aaa.buy_prize;
$('input[name=gold]').val(gold);
aaa.source++;
$('input[name=source]').val(aaa.source);
}
else
alert('Niestety nie posiadasz srodkow do zakupu tego surowca');
});
gdzie this.value miało mi wskazywać do którego obiektu się akurat odwołuje.

Mógłbym dodać ten drugi parametr i pewnie zrobię tak jeżeli nie znajdę rozwiązania o jakim myśle. Ogólnie chciałem zrobić funkcję bez parametru, a JS sam by wyciągał dane z formularza, które ja chcę akurat zmienić i bedą zawarte w funkcji.
nospor
Cytat
W tym rzecz, że nie moge
Nawet nie wiesz co to jest bbcode a juz mowisz ze nie mozesz uzywac.... normalnie brak slow.

zamykam a ty tymczasem przejrzyj google/forum w poszukiwaniu informacji co to jest bbcode. Nawet w naszym regulaminie jest. Jak już doczytasz mniej więcej co to jest bbcode i wyrazisz chęć jego stosowania - zapraszam na PW
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.