Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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 如何停止向上滚动<;按钮dojoType=";dijit.表单按钮“;类型=";提交/&燃气轮机;在IE11中_Javascript_Jquery_Dojo - Fatal编程技术网

Javascript 如何停止向上滚动<;按钮dojoType=";dijit.表单按钮“;类型=";提交/&燃气轮机;在IE11中

Javascript 如何停止向上滚动<;按钮dojoType=";dijit.表单按钮“;类型=";提交/&燃气轮机;在IE11中,javascript,jquery,dojo,Javascript,Jquery,Dojo,我目前在一个客户端有dojo的web应用程序中工作。现在对于浏览器IE11我面临以下组件的滚动问题 <button dojoType="dijit.form.Button" type="submit" name="favouriteList" value="favoriteList" onclick="buttonfix(this);"/> 下面是buttonfix(此)功能的代码: <script type="text/javascript">

我目前在一个客户端有dojo的web应用程序中工作。现在对于浏览器IE11我面临以下组件的滚动问题

<button dojoType="dijit.form.Button" type="submit" name="favouriteList" value="favoriteList" onclick="buttonfix(this);"/>
下面是buttonfix(此)功能的代码:

      <script type="text/javascript">
          function buttonfix(dojoButton) {  
            var button;
            if(dojoButton.id==""){
                button = dojoButton;
            } else {
                button=document.getElementById(dojoButton.id)
            }   
            for(j=0; j<button.form.elements.length; j++)
                if(button.form.elements[j].tagName == 'BUTTON' )
                    button.form.elements[j].disabled = true;
            button.disabled=false;
          }
      </script>

函数按钮nfix(dojoButton){
var按钮;
if(dojoButton.id==“”){
按钮=dojoButton;
}否则{
button=document.getElementById(dojoButton.id)
}   

对于(j=0;j我可能误解了这个问题,但是

向上滚动可能是因为表单已发布,触发页面重新加载。也许您可以尝试将onclick更改为:

onclick=“buttonfix(此);返回false”


这将阻止提交。

在dojo按钮的属性中设置scrollOnFocus:false-

否。我不能这样做。正如我在帖子中提到的,操作没有触发,即表单没有在第一次提交。我需要回发。问题是,第一次单击表单时,表单没有回发帖子,而页面正在向上滚动顶部。啊,好的。buttonfix函数中发生了什么?如果您删除它,它会工作吗?我已经尝试删除buttonfix,但问题仍然存在。请尝试将
type=“submit”
更改为
type=“button”
。是否要提交表单或onclick事件以触发?如果您可以提供生成的整个HTML,则会更好。是的,我想提交表单onclick。它不会在第一次单击时出现在IE11中,而是页面会向上滚动。因为我想提交页面,所以我猜type=“submit”是合适的。解释一下你想做什么。你是说你想提交表单,好吧,但是为什么要调用
buttonfix()
函数,这显然没有用,因为表单提交会触发页面加载。无论如何,滚动到顶部表示页面可能被重新加载,因为表单是提交的(就像Ted Nyberg在回答中提到的)。此外,据我所知,Dojo 2.1并不存在。
      <script type="text/javascript">
          function buttonfix(dojoButton) {  
            var button;
            if(dojoButton.id==""){
                button = dojoButton;
            } else {
                button=document.getElementById(dojoButton.id)
            }   
            for(j=0; j<button.form.elements.length; j++)
                if(button.form.elements[j].tagName == 'BUTTON' )
                    button.form.elements[j].disabled = true;
            button.disabled=false;
          }
      </script>