0

アンカーリンクがクリックされているかどうか知りたい。

アンカーリンクを動的に追加し、名前ファイルでIDを設定しますが、Spreadshettで「クリック」されたセルの数がどれだけ多いかわかりません。

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

スプレッドシート:

ex:

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

アンカーをクリックすると、関数はどのアンカーが好きで、適切な行の列Cに「1」の量があるかを知ることができると思います。

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

私は次のようなものを作ろうとしています:

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

¿しかし、関数sumDocでどのアンカーが好きかをどうやって知ることができますか?

4

2 に答える 2

1

クライアントハンドラーとテキストボックスを使用してそれを取得できると思います(この最後のものは表示される場合と表示されない場合があります)。

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

各アンカーに、次のようなclickHandlerを追加します

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

サーバーハンドラーでは、textBoxValueを次のように取得します。

var clickedItem = e.parameter.clickedItem;

より正確なコードが必要な場合は、アンカーを使用してUIを作成するために使用するコードを提供する必要があります

于 2012-10-16T15:27:06.000 に答える
1

これも可能で簡単です。あなたが言ったようにアンカーをフォーマットします。

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

今、あなたのリターン関数:

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;     
}

これがお役に立てば幸いです

于 2012-10-17T07:15:31.007 に答える