2009-11-17 10 views
0

Extension d'un site Web que je n'ai pas compilé. Je veux être en mesure d'appeler le proc ShowWindow avec un paramètre. Comment ferais-je cela? Nouveau sur JQuery et Javascript.Appel de la fonction Javascript

default.aspx 

<script type="text/javascript" src="/scripts/jquery-1.2.6.js"></script> 
<script type="text/javascript"> 

$(document).ready(function() { 
    $('a#ShowWindow').click(function() { 
     window.open("TerminalInfo.aspx?", 'Info', 'scrollbars=yes,width=510,height=536'); 
    }) 
}); 

default.aspx.cs

Construire l'ASPX dynamique ...

public static string ToHtml(this Location location) 
    { 
     var html = new StringBuilder(); 

     html.Append("<td><a href='#' id='ShowWindow'>ShowLetter</a></td>");    //This works 
     html.Append("<td><a href='#' id='ShowWindow(\"MyInfo.aspx\")'>Read More</a></td>"); //How can I do this? It doesn't work. 

     return html.ToString(); 
    } 
+1

Me semble que vous écrivez du code que vous ne comprenez pas. Joues-tu aussi avec des armes chargées? –

+1

@Josh Stodola: JavaScript est un peu plus sûr qu'un pistolet chargé. Et tout le monde doit commencer à apprendre quelque part. –

+0

Je pense que le point de vue de Josh est qu'il semble qu'il a commencé à coder et à poser des questions avant d'avoir la diligence de rtfm. Les événements en JavaScript sont trop documentés. –

Répondre

6
public static string ToHtml(this Location location) 
{ 
    var html = new StringBuilder(); 

    html.Append("<td><a href='MyInfo.aspx' id='ShowWindow'>Read More</a></td>"); 

    return html.ToString(); 
} 

puis

$('a#ShowWindow').click(function(e) { 
    window.open($(this).attr("href"), 'Info', 'scrollbars=yes,width=510,height=536'); 
    e.preventDefault(); 
}) 

C'est une approche un peu différente mais elle se dégrade mieux si JavaScript n'est pas disponible.

Mise à jour (pour travailler sur plusieurs liens dans le tableau)

$('table a').click(function(e) { 
    window.open($(e.target).attr("href"), 'Info', 'scrollbars=yes,width=510,height=536'); 
    e.preventDefault(); 
}); 
+1

+1 Et est la seule solution qui n'utilise pas l'attribut onclick. Je commençais à perdre la foi. –

+0

Oui, mieux que le mien. Le mien répondait simplement à l'erreur évidente. Je suppose que s'il veut apprendre le JavaScript sur ce projet, nous devrions l'aider à apprendre correctement. – sheats

+0

le seul problème que je vois est que vous ne retournez pas faux, de sorte que la page va changer – Shawn

-2
var strattonn = {}; 
strattonn.openWindow = function(url, title) { 
    window.open(url, title, 'scrollbars=yes,width=510,height=536'); 
    return false; 
} 


public static string ToHtml(this Location location) 
{ 
    var html = new StringBuilder(); 
    html.Append("<td><a href='#' onclick='return strattonn.openWindow('MyInfo.aspx', 'My Info')'>Read More</a></td>"); 
    return html.ToString(); 
} 
+0

ok donc je sais que l'attribut onclick est une mauvaise pratique, p – Shawn

Questions connexes