hoe een onclick-functie aan te roepen in <a> taggen?

ik wil een nieuw venster openen met één klik

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

het geeft geen foutmelding weer. is er een andere manier om een nieuw venster te openen.

hier is de viool
http://jsfiddle.net/ankurdhanuka/uwypv/

Bij voorbaat dank.


Antwoord 1, autoriteit 100%

Probeer de onclick-functie afzonderlijk, het kan u toegang geven om uw functie uit te voeren die kan worden gebruikt om een nieuw venster te openen, hiervoor moet u eerst een javascript-functie maken, daar kunt u deze definiëren en in uw ankertag gewoon moet je functie aanroepen.

Voorbeeld:

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

Bekijk hoe je het kunt aanroepen vanuit je ankertag

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

Bijwerken

Bezoek deze jsbin

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

Misschien zal dit u veel helpen om uw probleem te begrijpen.


Antwoord 2, autoriteit 32%

Leuk! Er zijn een paar dingen om hier te plagen:

  • $leadIDlijkt een php-string te zijn. Zorg ervoor dat het op de juiste plaats wordt afgedrukt. Houd ook rekening met alle risico’s die verbonden zijn aan het doorgeven van uw eigen strings, zoals cross-site scriptingen SQL-injectiekwetsbaarheden. Er is echt geen excuus om op internet gerichte productiecode niet op een solide frameworkte laten draaien.
  • Tekenreeksen in Javascript (zoals in PHP en meestal HTML) moeten worden ingesloten in tekens "of '. Aangezien u zich al in beide "en ', wil je ontsnappenwat je ook kiest. \'om aan de PHP-aanhalingstekens te ontsnappen, of &apos;om aan de HTML-aanhalingstekens te ontsnappen.
  • <a />-elementenworden vaak gebruikt voor “hyper”links, en bijna altijd met een href-attribuut om hun bestemming aan te geven, zoals deze: <a href="http://www.google.com">Google homepage</a>.
  • Je probeert dubbel te kijken wanneer de gebruiker klikt. Waarom? Omdat een standaardklik zowel de link activeert (waardoor de browser naar elke URL navigeert, zelfs die Javascript uitvoert), en de onclick-gebeurtenis “triggert”. Tip: Voeg een return false;toe aan een Javascript-gebeurtenis om standaardgedrag te onderdrukken.
  • Binnen Javascript betekent onclickop zichzelf niets. Dat komt omdat onclickeen is eigenschap, en niet een variabele. Er moet een verwijzing zijn naar een object, zodat het weet over wiens onclickwe het hebben! Een zo’n object is window. Je zou kunnen schrijven <a href="javascript:window.onclick = location.reload;">Activate me to reload when anything is clicked</a>.
  • Binnen HTML kan onclickiets op zichzelf betekenen, zolang het maar deel uitmaakt van een HTML-tag: <a href="#" onclick="location.reload(); return false;">. Ik wed dat je dit in gedachten had.
  • Groot verschil tussen die twee soorten =opdrachten. Het Javascript =verwacht iets dat nog niet is uitgevoerd. Je kunt dingen in een function-blok plaatsen om code aan te geven die later moet worden uitgevoerd, als je nu een aantal argumenten wilt specificeren (zoals ik hierboven niet deed met reload): <a href="javascript:window.onclick = function () { window.open( ... ) };"> ....
  • Wist je dat je niet eens Javascript hoeft te gebruiken om de browser aan te geven een link in een nieuw venster te openen? Daar is een speciaal doelkenmerk voor: <a href="http://www.google.com" target="_blank">Google homepage</a>.

Hopelijk zijn deze nuttig.


Antwoord 3, autoriteit 11%

Je moet de onclickhtml lezen attribuut en de window.open()documentatie. Hieronder is wat je wilt.

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

Antwoord 4, Autoriteit 5%

Gebruik de onclickals een attribuut van uw a, geen deel uit van de href

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

Fiddle: http://jsfiddle.net/wt5LA/

Other episodes