Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
回发Javascript_Javascript_Asp.net - Fatal编程技术网

回发Javascript

回发Javascript,javascript,asp.net,Javascript,Asp.net,我有一个用户控件a,它位于另一个用户控件B旁边的页面上 控件A有自己的功能,其中包括一些导致回发的控件(下拉列表、复选框等) 我控制B,我不控制A B需要隐藏a中存在的按钮 在B中,我有这样的标记和脚本: <body onload="OnPageLoad();"> ... function OnPageLoad() { $("input[name$='btnInPartA']").hide(); ... ... 函数OnPageLoad(){ $(“输入[name$

我有一个用户控件a,它位于另一个用户控件B旁边的页面上

控件A有自己的功能,其中包括一些导致回发的控件(下拉列表、复选框等)

我控制B,我不控制A

B需要隐藏a中存在的按钮

在B中,我有这样的标记和脚本:

<body onload="OnPageLoad();">
...

  function OnPageLoad() {
    $("input[name$='btnInPartA']").hide();
...

...
函数OnPageLoad(){
$(“输入[name$='btnInPartA']”)。隐藏();
...
加载页面时,这将成功地在中隐藏按钮

无论何时从发出回发,该按钮都会重新出现

我怎样才能隐藏那个按钮呢?我想在每次回发时启动我的javascript代码,但我愿意接受其他想法

以下是B部分的标记:

<body onload="OnPageLoad();">
  <div id="divDonationExtensionFields">
    <div id="divSubmitButton">
      <input type="button" id="btnCZDonate" value="Donate Now" onclick="btnCZDonate_OnClick();" />
    </div>
  </div>
</body>

<script type="text/javascript">
  function OnPageLoad() {
    alert("OnPageLoad fired!");
    $("input[name$='btnNext']").hide();
  }

  function btnCZDonate_OnClick() {
    //do whatever part A was going to do
    $("input[name$='btnNext']").click();
    //do some custom stuff after that
  }
</script>

函数OnPageLoad(){
警报(“OnPageLoad已启动!”);
$(“输入[name$='btnNext']”)隐藏();
}
函数btnCZDonate_OnClick(){
//做A部分要做的事
$(“输入[name$='btnNext'])。单击();
//然后做一些定制的东西
}

尝试使用
pageLoad
特殊功能,而不是订阅
onload
处理程序。不同之处在于每次回发时都会调用
pageLoad
,无论它是部分回发还是非部分回发。似乎有一些部分回发正在完成,它重新显示了您隐藏的按钮和
onload
函数在这种情况下不会被调用:

<head runat="server">
    <title></title>
    <script type="text/javascript">
        function pageLoad() {
            alert("OnPageLoad fired!");
            $("input[name$='btnNext']").hide();
        }
    </script>
</head>
<body>
    ...
</body>

函数pageLoad(){
警报(“OnPageLoad已启动!”);
$(“输入[name$='btnNext']”)隐藏();
}
...

您可以在中阅读有关
pageLoad
及其与
$(文档)的区别的更多信息。ready
(或
onload
)中。

是在页面重新加载时调用的
OnPageLoad
函数吗?通常应该调用它,因为您将其放置在正文的
onload
属性中,除非您正在进行部分回发(阿贾克斯).你注意到矛盾了吗?你不控制A,但你想控制A。让A控制它的按钮。如果B中的某些内容导致回发,你应该使用事件通知A。然后A可以在该事件中隐藏此按钮。@TimSchmelter,我猜他的意思是他无法隐藏服务器端的控件,因为他没有控制权l浏览控件A的源代码。这就是为什么他使用javascript来操作该控件生成的标记并达到预期效果的原因。@Tim和Darin:我正在尝试自定义由我公司的另一个团队处理的控件的行为。基本上,B有一个新按钮来替换A上的按钮。所以我隐藏了As按钮,我需要它在回发中隐藏。是的,我们知道了。我的第一个问题是什么?当页面重新加载时是否调用了OnPageLoad函数?这非常有效。感谢您的帮助和链接。我今天学到了一些新东西。