Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Szwankująca obsługa
Forum PHP.pl > Forum > Przedszkole
Aulich
Witam. Problem mój polega na tym, że dobrze napisany skrypt na jednych stronach działa, natomiast na innych nie. I tu moja ogromne zdziwienie - dlaczego. Przecież js jest wykonywane po stronie serwera. Czym zatem powinienem się zając by rozwiązać taki problem?
Zaznaczam, że skrypt jest poprawny.
nospor
Cytat
Przecież js jest wykonywane po stronie serwera
To zart, literowka, czy ty naprawde myslisz ze js jest wykonywane po stronie serwera?

Cytat
Zaznaczam, że skrypt jest poprawny.
Wybacz, ale juz nie raz widzialem takie "zaznaczam".... pokaz kod to my sobie sami zaznaczymy.
qrees
Cytat(Aulich @ 7.08.2008, 23:28:22 ) *
Witam. Problem mój polega na tym, że dobrze napisany skrypt na jednych stronach działa, natomiast na innych nie. I tu moja ogromne zdziwienie - dlaczego. Przecież js jest wykonywane po stronie serwera. Czym zatem powinienem się zając by rozwiązać taki problem?
Zaznaczam, że skrypt jest poprawny.

1. js nie jest wykonywany po stronie serwer (ten tekst to albo prowokacja Trola, albo nie wiesz o czym mówisz)
2. skoro skrypt nie działa to pewnie nie jest poprawny (z definicji, jak program jest poprawny to działa zawsze...)

[EDIT]
Muszę szybciej pisać winksmiley.jpg
Aulich
Pomyłka. Wiem, pisałem co innego w międzyczasie i pomyliłem słówka. Ale z logiki nawet wynika, co chciałem powiedzieć. W każdym razie dziwię się dlaczego skoro js jest wykonywane po stronie przeglądarki to skrypt działa na jednej stronie a na innej nie.
Nie pamiętam czy akurat o ten mi chodziło ale ten też ma tą dziwną właściwość działania i nie za jednym razem:
CODE
function add(co, gdzie)
{
var kod = document.getElementById(gdzie);
kod.value += co;
}
nospor
bo moze na innej stronie nie ma pola o id takim co zawiera zmienna "gdzie" ?
No co ci mozemy innego powiedziec po takim kawalku?
Aulich
Jest formularz -> button, a w nim : onClick="add('[B]', 'nazwa');" No i skrypt mial formatować tekst w input type="text" o id nazwa winksmiley.jpg No i za kazdym razem, kiedy klikam button, dane z calego formularza sa przesylane do docelowego skryptu wskazanego przez formularz. I chcialbym wiedziec dlaczego input tak sie zachowuje.
nospor
no i juz lepiej. To pokaz jeszcze ten formularz i dokladnie kod js jaki masz smile.gif
skowron-line
  1. function add(co, gdzie)
  2. {
  3. var kod = document.getElementById(gdzie);
  4. if( kod == undefined ){
  5. alert( 'nie ma takiego pola' );
  6. return;
  7. }
  8. kod.value += co;
  9. }

i bedziesz wiedział czy pole w formularzu jest czy go nie ma.
Aulich
Ale ja wiem ze on tam jest. Ponieważ pole jest typu tex, próbowałem w funkcji zmienić wartość "value". Potem zmieniłem pole na <textarea> i wtedy w funkcji zmienialem "innerHTML" a mimo wsazystko funkcja zachowuje się tak, jakby na koncu miala form.submit() . A mowie, ze to pole tam jest winksmiley.jpg chyba mi wierzycie na słowo? winksmiley.jpg Chodzi mi o to co moze byc przyczyna takiej interpretacji.

Postanowilem jeszcze cos sprawdzic. Dodalem w kodzie alert("tekst"); I nie wyskoczylo okienko dialogowe. Pomyslalem wiec, ze wylaczylem obsluge js. Ale nie wszystko jest uruchomione. Nie mam pojecia co jest nie tak. Teraz juz mam namieszane.
skowron-line
To może pokaż kawałek kodu bo wróżek to tu nie ma.
nospor
Cytat
a mimo wsazystko funkcja zachowuje sie tak, jakby na koncu miala form.submit()
to chodzi ci oto, ze formularz sie submituje? No kurde, nie mogles tak od razu?

onclick="add('[B]', 'nazwa');return false;"
Aulich
dodanie return false nie zadzialalo. Ale edytowalem poprzedniego posta - napisalem o alert (ktore tez nie zadzialalo). Dam kodu troszke

CODE

<form name="rejestracja" action="rejestruj.php" method="post">
.
.
.
<button style="background:#ffffff;color:#000000;height:20px;margin-top:4px;" onClick="add('tekst', 'sygnatura');return false;">&nbsp;<b>B</b>&nbsp;</button>
<button style="background:#ffffff;color:#000000;height:20px;margin-top:4px;" onClick="add('tekst', 'sygnatura');return false;">&nbsp;<i>I</i>&nbsp;</button>
<button style="background:#ffffff;color:#000000;height:20px;margin-top:4px;" onClick="add('tekst', 'sygnatura');return false;">&nbsp;<u>U</u>&nbsp;</button>
<button style="background:#ffffff;color:#000000;height:20px;margin-top:4px;" onClick="add('nazwa', 'sygnatura');return false;">&nbsp;URL&nbsp;</button>
<button style="background:#ffffff;color:#000000;height:20px;margin-top:4px;" onClick="add('', 'sygnatura');return false;">&nbsp;IMG&nbsp;</button>

<textarea name="sygnatura" id="sygnatura" class="input_textarea"></textarea>
.
.
.
<input id="rejestruj" value="Rejestruj!" type="submit" >
</form>
nospor
zmien jeszcze onClick na onclick
jesli nie zadziala to pokaz jeszcze raz funkcję add z twoimi nowymi poprawkami i alertami
Aulich
CODE

function add(co, gdzie)
{
var kod = getElementById(gdzie);
kod.innerHTML += co;
}
nospor
mialo byc z poprawkami tongue.gif


pozatym zjadles document.
To ci generuje blad js.


zamieniles na onclick?

Daj taki kod i powiedz co dostajesz:
onclick="alert('jestem w onclick');add('tekst', 'sygnatura');return false;"

oraz:
Kod
function add(co, gdzie)
{
alert('jestem w add');
     var  kod = document.getElementById(gdzie);
     kod.innerHTML += co;
alert('jestem na koncu add');
}
Aulich
Cytat z Gwiezdnych wojen: "It's working! It is working!"
Wielkie dzięki, teraz działa winksmiley.jpg A wytłumaczysz co było nie tak? Muszęto jeszcze zrozumie.



I jeszcze jeden problem. Jak naciskam buttony, wszystko dziala. Natomiast kiedy klikne wewnatrz pola tekstowego i potem gdzies indziej albo innaczej, kiedy pole tekstowe straci focus, nacisniecie buttona nei daje efektu ;/
nospor
co bylo nie tak? No napisalem:
1)zjadles document.
2)nie onClick a onclick

a to drugie co napisales to nic nie kumam smile.gif
Aulich
Trudno mi to jakos po ludzku wytlumaczyc. Jak masz chwilke to zajrzyj na http://gotfklan.freehostia.com/index.php?p=register
jak klikniesz na te buttoniki od razu - wszystko jest ok. Ale jak zaczniesz wypelniac pole i potem uzyjesz przyciskow, nie dziala.
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.