2017-04-25 5 views
1

Ich habe eine Asp-Schaltfläche, die ich von einer JavaScript-Funktion angeklickt werden soll, wenn ich auf eine normale HTML-Schaltfläche klicke. Wenn es jedoch zum button.click() kommt, gibt es keinerlei Wirkung. Wenn ich in den Debugger schaue, verhält sich alles andere in der Funktion wie normal, und wenn ich selbst auf den asp-Button klicke, läuft der Code, den ich erwarte, oder wenn ich den joingameBtn_Click in der Konsole anrufe, klickt er auch richtig auf die Schaltfläche. Ich habe die Schaltflächen dynamisch beim Laden der Seite in einer Schleife erstellt, so dass jeder eine onclick-Funktion hat, die eine ihm eindeutige ID übergibt.Javascript Schaltfläche klicken hat keine Wirkung

function joinGameBtn_Click(campaignid) { 
    var temp = document.getElementById('CampaignID'); 
    temp.value = campaignid; 

    var button = document.getElementById("CampaignBtn"); 
    button.click(); 
} 

function createFunction(id) { 
    return function() { joinGameBtn_Click(id); }; 
} 

//Where the button is created 
var hoverbutton = document.createElement('button'); 
hoverbutton.id = 'hoverbutton'; 
var func = createFunction(campId); 
hoverbutton.onclick = func; 

Nach ein paar andere Beiträge zu lesen, sah ich, dass manchmal die dynamisch erzeugten Tasten das Problem, dass der Ereignis-Listener, um sie nicht gebunden sein könnte. Einige Vorschläge erwähnten, dass das Dokument fertig war, also versuchte ich es auch ohne Erfolg.

$(document).ready(function() { 
$(document).on('click', '#hoverbutton', function() { 
    $("#CampaignBtn").click(); 
    }); 
}); 

EDIT: Hier ist die asp.net-Schaltfläche in Frage.

<asp:Button ID="CampaignBtn" runat="server" Text="Button" style="display:none;" OnClick="joinGame_Click" ClientIDMode="Static"/> 

ist die Server-Seite-Taste klicken Funktion:

public void joinGame_Click(object sender, EventArgs e) 
    { 
     Session["campaignid"] = int.Parse(CampaignID.Value); 
     Response.Redirect("CampaignSession.aspx"); 

    } 
+0

Sie erstellen eine Funktion, die beim Auslösen eine Funktion zurückgibt. – Fallenreaper

+0

das ist ein Relikt von einer früheren Version, die ich nie wieder geändert habe – TheOleGaffer

+0

Kannst du den HTML für den einen der fraglichen Knöpfe posten? – nurdyguy

Antwort

0

ich meine asp-Taste, um eine normale HTML-Taste geändert, die das Problem zu lösen schien Festsetzung

<button onserverclick="joinGame_Click" runat="server" id="CampaignBtn" ClientIDMode="Static">Button</button> 

Nicht sicher, ob Die Probleme mit doppelten IDs spielten ebenfalls eine Rolle.

Verwandte Themen