[Ajax+PHP] przekazanie wartosci zmiennej do znacznika title

Odpowiedz Nowy wątek
2007-05-22 08:36
0

Witam,
chcialem sobie zrobic tooltipy do linkow czy jakiegos tekstu - mam zroione, ale pomyslalem sobie ze szkoda zawalac kod stronki niepotrezbnym tekstem ktory mozna by pobierac z pliku - pomyslalem ze Ajax bylby do tego dobry (dzialam w mintAjax) ale nie mam za bardzo pomyslu jak zmienic zrobic aby pobrana wartosc zmiennej wrzucal mi do znaczkika title.

Tooltip jest jako wartswa div - ponizej linki do tego co jest i link do paczki z plikami.
Tu sa pokazane tooltipy
Tu jest paczka z wszystkimi plikami


Parowkowym skrytozercom i cieplemu piwu mowie 'NIE!'

Pozostało 580 znaków

2007-05-22 09:29
0
var zmienna = "zawartość zmiennej";
vat titleTag = document.getElementsByTagName("title")[0];
if(titleTag != null && titleTag!="undefined")
    titleTag.innerHTML = zmienna;

Czytać manual!

Pozostało 580 znaków

2007-05-22 22:16
0

to ja dorzuce od siebie pytanko - ma javascript jakiś taki genialny manual jak php.net? :)


Pozostało 580 znaków

2007-05-22 23:07
0

Oficjalnie nie ma. Jednak np. na www.w3schools.com jest całkiem duża część JS opisana.

Pozostało 580 znaków

2007-05-23 16:00
0

No niby fajnie - tylko ten document.getElementsByTagName zajmuje sie tagami np

<title>Dymkowe CMSowe helpy</title>

ale juz

olewa. Nie zrobi mi nic z title w linku a w to miejsce chcialem wrzucic swoj opis linku


Parowkowym skrytozercom i cieplemu piwu mowie 'NIE!'

Pozostało 580 znaków

2007-05-23 16:14
0

Yy. Bo do pobiera znaczniki <title> z dokumentu, a nie atrybuty. No to chyba nic dziwnego, że olewa? Jak chcesz dostać się do atrybutu "title" znacznika to pobierz znacznik i się do atrybutu spokojnie dostaniesz.

Pozostało 580 znaków

2007-05-23 19:05
0
<a href="#" title="cos" id="id">coś</a>
var link = document.getElementById("id");
var title = link.title;
///lub
title = link.getAttribute('title');

W sumie nie najgorszym rozwiązaniem jest drugie. Jest zgodne z DOMem więc łatwo jest migrować kod na inny język :)

Pozostało 580 znaków

2007-05-23 21:38
0

zauwazylem, ze czesto sie stosuje wlasnie takia dużą ilość zmiennych pomocniczych, jak mozna by bylo napisac:

document.getElementById("id").getAttribute('title')

ma to jakieś inne zalety, poza przejrzystością i łatwiejszym zrozumieniem kodu? W sumie w delphi, to jak pamiętam, to często stosowałem całe litanie pokropek ;)


Pozostało 580 znaków

2007-05-23 22:35
0

Ma jedną zasadniczą :) kod w IE:

var tmp = Window.status;

radośnie wywali się pod FF. Ze względu na poważne róznice pomiedzy przeglądarkami w JS trzeba, niestety, tworzyć dużo zmiennych pomocniczych. Następnie bardzo często korzysta się z takiego miłego testu:

if(tmp==null || tmp=="undefined"){
   // obsługa błędu lub przedefiniowanie zmiennej na coś co, najprawdopodobniej, rozumie FF lub IE
}

Poza tym JS jest interpretowany więc zapis "wielokropkiem" może spowodować dość poważną wywałkę strony. Tak możesz testować, tak jak podałem, stan/obecność obiektów i uniknąć wielu błędów.

Pozostało 580 znaków

2007-05-23 23:52
0

getAttribute sprawdza zdaje się na większości przeglądarek stan początkowy - ustalony w kodzie,
czyli np jeśli w inpucie będzie w kodzie value="1", a user wprowadzi "2" to .value da "2" a getAttribute "1"

// aaa, źle zrozumiałem pytanie
no to chyba głównie przejrzystość, linia nie powinna mieć więcej jak powiedzmy 60 znaków (no tak na oko krótka powinna być ;P) a poza tym jeśli się wykorzystuje ten sam element chociażby dwa razy to lepiej zapisać w zmiennej niż szukać dwa razy tego samego elementu i powtarzać kod
poza tym czasami no nie ma rady, np zdaje się takie coś mi się wywalało kiedyś na jakiejś przeglądarce

body = document.getElementsByTagName('body')[0];

a

body = document.getElementsByTagName('body');
body = body[0];

już działało dobrze (nie było document.body w tej przeglądarce też jeśli ktoś chce się przykładu czepiać)


Dwie zasady gwarantujące sukces:
1. Nigdy nie mów nikomu wszystkiego<span style="color: white">

Pozostało 580 znaków

2007-05-24 11:00
0

no generalnie dziala nice :) :

function zmiana()
{
  zmienna = "Boshe to dziala :)";
  var link = document.getElementById("id");
  var title = link.getAttribute('title');

  if(title != null && title!="undefined")
  {
    title = zmienna;
    }
  alert(title);
}

Dzieki - teraz szukam tutoriali do js - zwyczajnie nie znam znacznikow - zaczne od www.w3schools.com, ale jak ktos ma adres jakiegos fajnego spisu polecen to bylbym wdzieczny.

EDIT:
wlasnie udalo mi sie wykombinowac pobieranie w mintAjaxie zawartosci plikow:

function load(strona, div) // (strona , div) pozwala załadować dowolną stronę do danego div'a
{
    var req = mint.Request();
    req.Send(strona,div);
}

co ciekawe teraz jesli wywoluje w pierwszym linku ladowanie strony do diva a gdy w 2 linku wywoluje funkcje zmiana to dostaje w alercie 'null', z reszta zauwazylem ze dla funkcji zmiana liczy sie tylko pierwszy napotkany atrybut title - dla kazdego nastepnego przypisuje ten sam wynik ( czyli miejmy cos zwalonego w pierwszym title to nawet gdyby w 2 title bylo OK znow dostaniemy blad z 1 title)


Parowkowym skrytozercom i cieplemu piwu mowie 'NIE!'

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0