Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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_Jquery_Html - Fatal编程技术网

Javascript 显示输入所需的弹出窗口(气泡)

Javascript 显示输入所需的弹出窗口(气泡),javascript,jquery,html,Javascript,Jquery,Html,我使用了e.preventDefault()禁用将页面滚动到无效的输入。我尝试了scrollintoview(false),默认情况下将站点滚动到顶部,但它没有任何作用 现在,为了将页面滚动到无效的输入,我使用了自己的函数,该函数将元素置于屏幕的中心 不幸的是,使用此方法,我还禁用了一个警告气泡,并对无效元素进行了focus。触发焦点并不难-input.focus()。但是我应该怎么做,通过JS显示输入错误泡泡?由于某些原因,我无法使用form.reportValidity()函数。我需要类似于

我使用了
e.preventDefault()
禁用将页面滚动到无效的
输入
。我尝试了
scrollintoview(false)
,默认情况下将站点滚动到顶部,但它没有任何作用

现在,为了将页面滚动到无效的
输入
,我使用了自己的函数,该函数将元素置于屏幕的中心

不幸的是,使用此方法,我还禁用了一个警告气泡,并对无效元素进行了
focus
。触发焦点并不难-
input.focus()。但是我应该怎么做,通过JS显示输入错误泡泡?由于某些原因,我无法使用
form.reportValidity()
函数。我需要类似于
input.triggerror()的东西

//JS代码,将站点集中在元素上:
//event.preventDefault();
//var elOffset=element.getBoundingClientRect().top+window.scrollY;
//var elHeight=element.height();
//var windowHeight=window.innerHeight;
//var偏移;
//if(elHeight<窗高){
//偏移=elOffset-((窗高/2)-(elHeight/2));
// }
//否则{
//偏移量=elOffset;
// }
//滚动到(0,偏移量);
//元素focus();
//我不能这样做:
//FORM.reportValidity();
//我在寻找这样的东西:
//元素。reportValidity()
正文{
利润上限:70像素;
}
.固定菜单h1,
.固定菜单p{
颜色:#ffffff;
保证金:0;
}
.固定菜单{
背景色:#222;
边框颜色:#080808;
排名:0;
边框宽度:0 0 1px;
位置:固定;
右:0;
左:0;
z指数:1030;
高度:70像素;
}

这是固定菜单
我正在使用e.preventDefault();禁用该活动


这是输入: 提示:
1.保留此输入,然后单击srcoll to submit按钮。
2.点击它。
3.看-卷轴不够好

提交表格
以下是一些有助于解释我的解决方案的提示:

  • 我知道你在设计body元素的样式时做了什么
    margintop:70px
    这在代码段中起作用,但在浏览器中不起作用,因此我选择了一个稍微不同的解决方案,具有相同的精神,这就是css的解释
    现在谈谈实质:
  • 在输入元素上使用,并通过固定菜单的
    70px
    向下滚动元素+任何边距或边框,因此
    -80
  • <> LI>您可能会问,为什么使用“代码> SETIMOUT ScRoBube < /代码>,答案是不起作用的,因为它将与JavaScript认为更重要的其他动作冲突:不够好的滚动和显示标签。 解决方法是通过
    setTimout
    异步调用将
    scrollBy
    添加到操作队列中
document.getElementById(“inp”).addEventListener(“无效”,函数(){
setTimeout(函数(){
滚动比(0,-80)
},0)
})
.body{
位置:相对位置;
}
.固定菜单h1,
.固定菜单p{
颜色:#ffffff;
保证金:0;
}
.固定菜单{
背景色:#222;
边框颜色:#080808;
排名:0;
边框宽度:0 0 1px;
位置:固定;
右:0;
左:0;
z指数:1030;
高度:70像素;
}
形式{
位置:绝对位置;
顶部:70像素;
}

这是固定菜单
我正在使用e.preventDefault();禁用该活动


这是输入:

提示:
1.保留此输入,然后单击srcoll to submit按钮。
2.点击它。
3.看-卷轴现在足够好了

提交表格
所以你的主要目标是[显示输入框],在你[单击“提交表单]]时,它包含“无效数据”?@eeya是的,但我认为这已经完成了。若你们看上面的JS代码,你们会看到我计算了“中心”的位置,脚本可以滚动到它们并聚焦输入。问题是来自输入的弹出/气泡/工具提示-它不显示:/