Javascript按钮点击没有效果

标签 javascript html asp.net button

我有一个 asp 按钮,当我单击常规 html 按钮时,我希望通过 javascript 函数单击该按钮。然而,当它到达button.click()时,没有任何效果。如果我查看调试器,函数中的其他所有内容都会正常运行,如果我自己单击 asp 按钮,它会运行我期望的代码,或者如果我在控制台中调用 joingameBtn_Click,它也会正确单击该按钮。我在循环中在页面加载时动态创建了按钮,以便每个按钮都有一个 onclick 函数,该函数传递一个唯一的 id。

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;

在阅读其他一些帖子后,我发现有时动态创建的按钮可能会出现问题,因为事件监听器未与它们绑定(bind)。一些建议提到确保文档已准备好,所以我也尝试了这一点,但没有成功。

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

编辑:这是有问题的 asp.net 按钮。

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

这里是服务器端按钮点击函数:

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

    }

最佳答案

我将我的 asp 按钮更改为常规 html 按钮,这似乎解决了问题

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

不确定修复重复 ID 的问题是否也起到了作用。

关于Javascript按钮点击没有效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43618379/

相关文章:

html - 表格单元格之间的空白

javascript - 是否可以在浏览器中与信号器建立多个服务器连接?

在 PHP echo 上显示 Javascript 提示

javascript - 删除渲染阻塞 JavaScript

javascript - 清除jquery多重选择中选定选项的复选框

javascript - 标记模板字符串和闭包的问题

java - 奇怪的 java.lang.ExceptionInInitializerError - JSoup

javascript - 将用户输入限制为预定义的值列表

asp.net - IIS(执行此操作时出错)

c# - 呈现工作流程的控制