tolkedu
tolkedu

Reputation: 61

how can i know if an anchor link is clicked or not?

I want to know if an anchor link is clicked.

I add anchor links dynamically and set ids with their name file but i dont know how amoutn the number of the cell "clicked" in my Spreadshett.

For ex: the id of file "test.pdf" --> test;

in spreadsheet:

ex:

ColumA  <namefile>: test.pdf
ColumB  <linkfile>: https://docs.google.com/document/d/1PiMj.....jramcs
ColumC  <cliked>: 1

I'm specting that if i clicked my anchor my function could know which anchor is cliked and amount " 1 " in colum C in the ppropriate row.

var html = app.createAnchor(nf, hf).setId(nf);

I am trying to make something like:

var html = app.createAnchor(nf, hf).setId(nf).addClickHandler(app.createServerHandler("sumDoc").addCallbackElement(flexTableDoc));

¿But how i know which anchor is cliked in the function sumDoc?

Upvotes: 0

Views: 221

Answers (2)

Thomas
Thomas

Reputation: 577

This is also possible and easy, format your anchor like you said.

var html = app.createAnchor(nf, hf).setId(nf).addClickHandler(app.createServerHandler("sumDoc").addCallbackElement(flexTableDoc));

Now your return function:

function sumDoc(e){
  //this will return the value of the ID of the element thats clicked so in this case its test.pdf
  var linkId = e.parameter.source;     
}

I hope this is useful

Upvotes: 1

Serge insas
Serge insas

Reputation: 46794

I think you can get that using client handlers and a textbox (this last one can be visible or not).

 var clickedItem = app.createTextBox().setName('clickedItem')

On each anchor you add a clickHandler like this

    var handler = app.createClientHandler().forTargets(clickedItem).setText(Anchorname);
    anchor.addClickHandler(handler)

and in the server handler you will get the textBoxValue with

var clickedItem = e.parameter.clickedItem;

if you want a more accurate code you should provide the code you use to create the UI with the anchors

Upvotes: 1

Related Questions