ugrás a tartalomhoz

a href tiltása mouse.event-tel

aeternum · 2010. Dec. 18. (Szo), 23.28
Sziasztok.

Lehetséges-e az és hogyan, hogy ha egy linkre rákattintott valaki, akkor az már akkor se legyen kattinthatő, ha újratölti az oldalt az aktuális munkamenetben.

Ha kilép, akkor minden kezdődhet előről.

<a onclick="do(esemeny_formhoz(this)" id="elso">1. link</a>
<a onclick="do(esemeny_formhoz(this)" id="maso">2. link</a>
<a onclick="do(esemeny_formhoz(this)" id="harm">3. link</a>
Azt szeretném, ha rákattint bármelyikre, akkor az már ne működjön ismét.

Nyomógombok esetében a
document.getElementById(nyomogomb).disabled=true
működik.
Múködik ez link esetében is?

A porblémám az, hogy miután kiválasztja a linket, kitölti a hozzá tartozó úrlaot, majd pedig elküldi a kitöltött úrlapot, akkor hogyan lehetne a SUBMIT eseményhez kötni a link letiltását. Azét, és semelyik másét.

Én arra gondoltam, hogy a mouse.event elkapása segíthet. DE!
Kattint a hivatkozáson, kattint az input elemeken és kattint a submit gombon. Honnan fogom tudni, hogy mi volt az utolsó hivatkozás kattintás?

Köszi!
:)

aet
 
1

Kapd el a submitot. Prototype

rrd · 2010. Dec. 19. (V), 01.18
Kapd el a submitot. Prototype keretrendszerben Event.observe szolgál erre .
4

Egyenlőre

aeternum · 2010. Dec. 20. (H), 02.23
Egyenlőre a DHTMLSuite-ra szavazok, mert félig kész megoldásokat kapok azon keresztül.
Tudom, hogy a Proto hihetelenül karcsú, gyors és valóban téglákból lehet építkezni nem pedig panelekből vagy szobákból...

És nagyon szimpatikus, hogy csak az van benne, amit valóban használ is a delikvens.
Csak egy baj van. :)
Én nagyon kezdő vagyok annak ellenére is, hogy elég régóta próbálkozom program barkácsolással.
Nem nevezném azt, amit csinálok, programozásnak.
:)

Számomra minden keretrendszer nagy hibája, hogy nem adnak mellé egy valóban step by step tutorialt.
Nem értem a metődusokat, az osztályokat, ezért használni sem tudom azokat.

Hiába látom, hogy van itt egy osztály, vagy metódus, hogy mikor, miért, hogyan kell meghívni, mi van a paraméterekkel, miért azt kapom vissza és miért nem mást, azt nem tudom sem eldönteni, sem megérteni egyik keretrendszernél sem.
De csak nekem nem megy, örök newbie-nak!
:)))

aet
2

return false / preventDefault

Poetro · 2010. Dec. 19. (V), 01.25
Írd le érthetőbben, mit szeretnél, mert ennek se füle, se farka.

rákattintott valaki, akkor az már akkor se legyen kattinthatő, ha újratölti

Mit értünk azon, hogy ne legyen kattintható? Egyáltalán miért rakod ki a linket, ha nem akarod, hogy működjön?

hogyan lehetne a SUBMIT eseményhez kötni a link letiltását

var forms = document.getElementsByTagName('form'), i;
for (i = forms.length - 1; i >= 0; i -= 1) {
  forms[i].onsubmit = function () {
    var links = ['elso', 'maso', 'harm'], i, link;
    for (i = links.length - 1; i >= 0; i -= 1) {
      link = document.getElementById(links[1]);
      if (link) {
        link.onclick = function () {
          return false;
        }
      }
    }
  }
}
Honnan fogom tudni, hogy mi volt az utolsó hivatkozás kattintás?

Nem értem, mire gondolsz. Mit szeretnél tudni, és honnan?
3

Tényleg nagyon kell az a

aeternum · 2010. Dec. 20. (H), 02.11
Tényleg nagyon kell az a példa oldal..
:)

Bal oldalon menüsor, hivatkozásokkal.
Ha belép a felhasználó, az bizonyos tevékenység, egy adatrögzítési folyamat kezdetét jelenti.
Más céllal felesleges az oldalt megnyitnia, mert minden infőt az előző öldalakből elér.
A tevékenységben minden hivatkozást csak egyszer szeretném elérhetővé tenni, javítási lehetőség nincs, azt a felettes teheti meg a saját oldalán. (hamis adatok bevitelének elkerülésére. Így is beviszi, ha van esze, de alapból, a mért adatokat vigye be és ne javítgasson kénye-kedve szerint.)

Ha rákattint az "1. link"-re, akkor az adatok bevitele, az úrlap elküldése után már ne tudja ebben a munkamenetben még egyszer kiválasztani a linket. Az legyen tiltva. Ezzel azt is elérném, hogy látja a felhasználó, hogy melyik feladattal végzett és melyik van még hátra.
Természetesen, ha kilép az oldalról, és újra belép, akkor már a teljes linksor álljon rendelkezésére. De akkor már a háttérben új munkamenet azonosítók generálódnak, így nyomonkövethető, hogy esetleg babrálna a mérésekkel, az adatrögzítéssel.

Közben átgondoltam a logikát.
Ha ezt nehezen tudom megoldani, akkor a feldolgoz.php ellenőrzi majd, hogy volt-e már adatrögzítés arra a linkre vonatkozóan, és ha volt, akkor hibaüzenettel tér vissza és "eldobja" a bevitt adatot.
Azt hiszem, kettős "védelmet" alkalmazok, mert ha belép újra és adott időn belül teszi ezt (max 60 perc), akkor újra felvihetne adatokat. Talán homályos, de a példaoldalon érthetővé válik majd.
:)

Tudom, épp én kérdezem...
Ebben a scriptben nincs hiba véletlenül?
A 6. sorban a document.getElementById(links[1]); valóban links[1] és nem links[i]?

Köszi Poetro!
:)))


Tényleg meg fogom csinálni azt a példaoldalt! :)
Csak ki kell írtanom a randaságokat a jelenlegi kódból, és találni egy olyan webszervert, ahova föl is tehetem az adatbázissal együtt.
:)

aet
:)
5

De

Poetro · 2010. Dec. 20. (H), 09.44
 link = document.getElementById(links[i]);