2017-01-16 23 views
0

私はこのアプライアンスのWebアプリケーションを作成しています。このロジック/構文の問題を解決してください。ユーザーがリンクをクリックすると、データを受け入れるための新しいウィンドウが開き、次のページでクリックされたセルの内容も表示されるように、ハイパーリンクを設定します。ここでhrefタグで関数を呼び出すと、関数に引数を渡すことはできますか?

は、私のJavascriptコードです:

row = table.insertRow(-1); 

var cell = row.insertCell(-1); 

cell.innerHTML = '<a href="#" onclick = func(name);>'+name+'</a>'; 


function func(name) 
     { 


      localStorage.setItem("Selectedname",name); 

      window.location.href="form_apraise.html"; 

     } 

は( 'https://stackoverflow.com/が'、 '_blank') window.open有効ポップでこれを試してみてください

答えて

0

使用「はこの」を使用)(あなたのFUNCに続いて

cell.innerHTML = '<a data-name="' + name + '" onclick="func();">' + name + '</a>'; 

をクリックイベントが発生します。

cell.innerHTML = '<a href="#" onclick = "func(this);">'+name+'</a>'; 

アクセスあなたがここに多くのオプションがありますが、私はあなたにそれらの3を教えてくれますelement.text

function func(elem) 
    { 
     var name =elem.text; 

     localStorage.setItem("Selectedname",name); 

     window.location.href="form_apraise.html"; 

    } 
1

ありがとう。

+0

openメソッド内の引数を説明してください。 – joel

+0

window.open( 'your_url'、 '_black'); –

+0

window.location行をこの行に置き換えます。 –

1
cell.innerHTML = '<a onclick="func("' + name + '");">' + name + '</a>'; 

これは動作するはずです。この場合、あまり有用ではないので、href属性は実際には必要ありません。どの要素もonclickイベントに応答します。

また、追加の属性のパラメータ置くことができる:あなたはセルへの参照としてthis.dataset.name More on this here

0

を使用してセルの値:

1-通常、あなただけの可能性あなたのURLにパラメータを送信してください。これはあなたのバックエンドによって処理されます:http://www.example.com/viewName/myNameそして、新しいウィンドウを開くwindow.open(URL、 '_blank')を使うことができます。

2 You AJAXで情報を取得するポップアップウィンドウを使用して、実行したいことを受け入れるポップアップウィンドウを表示することができます。

3セルをdata-name属性で作成し、セルに1つのクラスを割り当てたり、ライブラリを使用したりすることができます.Javascriptでは、そのクラスのすべての要素にイベントを割り当て、属性を読み込んでwindow.open (URL、 '_blank')このような何か:ジャバスクリプト(jQueryの)で

<tr><td class="myClass" data-name="Your Name">Your Name</td></tr> 

$(document).ready(function(){ 
    $(".myClass").click(function(){ 
    window.open("http://example.com/"+$(this).data("name"),"_blank") 
    }) 
}) 

あなたのケースでは簡単な方法は、単にパラメータとして名を渡すされ、新しいウィンドウを開いて、クライアントにその名前に関する情報を表示します。