【问题标题】:call javascript from server从服务器调用 javascript
【发布时间】:2012-02-27 07:18:43
【问题描述】:

我在服务器上的按钮在 alertMsg() 上工作,但在 playSelected() 上却不起作用

我的 Html 按钮适用于 playSelected() 和 alertMsg()

谁能帮我弄清楚为什么?

javascript

function playSelected() {

    var a = "Video/" + document.getElementById("TextBox2").value + ".flv";

    jwplayer("mediaplayer").setup({

        flashplayer: "jwplayer/player.swf",

        file: a,

        image: "jwplayer/preview.jpg"
    });
}


function alertMsg() {
    alert("testing123");
}

html 中的按钮

input type="button" runat="server" value="Click me!" onclick='playSelected()'

服务器中的按钮

asp:Button ID="Button2" runat="server" text="call javascript" OnClientClick="playSelected(); return true;" UseSubmitBehaviour="false"

【问题讨论】:

  • 如果你使用Attributes.Add(),你应该使用'onclick'而不是你在aspx标记中使用的'onclientclick'。

标签: c# javascript asp.net


【解决方案1】:

确保客户端浏览器允许您的 java 脚本。还要在您的 page_load 事件中执行回发逻辑。我宁愿在页面的重写 CreateChildControls 方法上创建按钮,并在重写 OnPreRender 连接我的 java 脚本并使用 ClientScriptManager 方法 RegisterStartupScript 注册脚本。这样你就可以拥有漂亮的页面生命周期控制。

【讨论】:

    【解决方案2】:
    <asp:Button runat="server" 
                OnClientClick='playSelected(); return true;' 
                UseSubmitBehaviour="false" />
    

    【讨论】:

    • 是的,它被添加了,它是一样的,我页面中的按钮不起作用
    • 移除 onclick 因为它会导致完整的回发
    • 已移除,也不起作用,我可以使用服务器上的按钮调用 alertFunction() 但它在我的 playSelected() 上不起作用
    • “不起作用”到底是什么意思,特别是:您是否收到任何 javascript 错误?另外:那个按钮的html是什么(做一个'查看源'),你在那里看到正确的javascript调用吗?
    • 你不再需要这个了:Button2.Attributes.Add("OnClientclick", "playSelected()");。也没有按照你的想法做,应该是“onclick”而不是“OnClientClick”。你检查 UseSubmitBehaviour 属性了吗?
    猜你喜欢
    • 2018-10-19
    • 2011-08-23
    • 2017-05-01
    • 2011-12-09
    • 2018-04-13
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    • 2016-01-15
    相关资源
    最近更新 更多