web-dev-qa-db-ja.com

<a>タグでonclick関数を呼び出す方法は?

クリック1で新しいウィンドウを開きたい

$leadID = "<a href='javascript:onclick=window.open(lead_data.php?leadid=1, myWin, scrollbars=yes, width=400, height=650);'>1</a>";

エラーは表示されません。新しいウィンドウを開く他の方法はありますか。

ここにフィドルがあります http://jsfiddle.net/ankurdhanuka/uwypv/

前もって感謝します。

20
Ankur Dhanuka

Onclick関数を個別に試してください。新しいウィンドウを開くために使用できる関数を実行するためのアクセス権を与えることができます。あなたの機能。

例:

function newwin() {              
 myWindow=window.open('lead_data.php?leadid=1','myWin','width=400,height=650')
}

アンカータグから呼び出す方法をご覧ください

<a onclick='newwin()'>Anchor</a>

更新

このjsbinをご覧ください

http://jsbin.com/icUTUjI/1/edit

これが問題を理解するのに大いに役立つかもしれません。

22
Đēēpak

楽しい!ここにいじめるいくつかのことがあります:

  • $leadIDはphp文字列のようです。正しい場所に印刷されていることを確認してください。 クロスサイトスクリプティングSQLインジェクション の脆弱性など、独自の文字列を渡すことに伴うすべてのリスクにも注意してください。インターネットに面した製品コードが実行されていないという言い訳は本当にありません 堅固なフレームワーク上
  • Javascriptの文字列(PHPや通常HTMLなど)は、"または'文字で囲む必要があります。既に"'の両方にいるので、どちらを選択してもescapeする必要があります。 \'はPHP引用符をエスケープし、&apos;はHTML引用符をエスケープします。
  • <a /> elements は、「ハイパー」リンクによく使用され、ほとんどの場合、<a href="http://www.google.com">Google homepage</a>のように、宛先を示すhref属性とともに使用されます。
  • ユーザーがクリックしたときに視聴を倍増しようとしています。どうして?標準のクリックでリンクがアクティブになり(ブラウザがJavascriptを実行するものであっても、URLにナビゲートする)、onclickイベントを「トリガー」するためです。ヒント:return false;をJavascriptイベントに追加して、デフォルトの動作を抑制します。
  • Javascript内では、onclickはそれ自体では意味がありません。 onclickproperty であり、variable。一部のオブジェクトへの参照が必要なので、誰がonclickについて話しているのかがわかります。そのようなオブジェクトの1つはwindowです。 <a href="javascript:window.onclick = location.reload;">Activate me to reload when anything is clicked</a>と書くことができます。
  • HTML内で、onclickは、HTMLタグの一部である限り、それ自体で何かを意味できます:<a href="#" onclick="location.reload(); return false;">。これを念頭に置いていたに違いない。
  • これらの2種類の=割り当ての大きな違い。 Javascript =は、まだ実行されていないものを予期しています。いくつかの引数を今すぐ指定したい場合は、functionブロックで物事をラップして、後で実行する必要があるコードを示すことができます(上記でreloadを使用しなかったように):<a href="javascript:window.onclick = function () { window.open( ... ) };"> ....
  • Javascriptを使用してブラウザに新しいウィンドウでリンクを開くように通知する必要がないことをご存知ですか?そのための特別なターゲット属性があります:<a href="http://www.google.com" target="_blank">Google homepage</a>

これらが役立つことを願っています。

9
Will McChesney

onclick html属性と window.open() ドキュメントを読んでください。以下はあなたが望むものです。

<a href='#' onclick='window.open("http://www.google.com", "myWin", "scrollbars=yes,width=400,height=650"); return false;'>1</a>

JSFiddle: http://jsfiddle.net/TBcVN/

2
Dan

onclickの一部ではなく、aの属性としてhrefを使用します

<a onclick='window.open("lead_data.php?leadid=1", myWin, scrollbars=yes, width=400, height=650);'>1</a>

フィドル: http://jsfiddle.net/Wt5La/

2
tymeJV