HTML5表单验证出来的观点没有得到消息弹出苹果Safari浏览器

问题描述 投票:0回答:1

我有一个简单的窗体的文本字段的只是一个长长的清单。由于所需的字段中的每一个标记。像这样:

在浏览器中,如果我滚动无效的空场出来查看,然后提交表单。表单将滚动到无效的字段,突出显示该字段的边界,但它应该包含验证文本消息弹出“请填写此栏不显示。

然而,如果空场视野内,当我提交表单 - 那么Safari浏览器不会显示消息泡沫和文本的预期。

我使用的是Mac上的Safari浏览器(版本12.0.2)。

下面是一个非常简单的形式的一个例子。

https://jsfiddle.net/7ho0udrw/

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title></title>
</head>
<body>
    <form action="">
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input required="required"></br>
        <input type="submit">
    </form>
</body></html>
html5 validation safari field
1个回答
0
投票

显然,什么是应该发生的是信息泡沫弹出,然后如果你滚动窗口消失。所以,Safari浏览器弹出的气泡,然后滚动窗口把问题领域视图,然后关闭泡沫。哎呀。

这里有一个可能的解决方法:添加第二个提交按钮

<form>
  <input required name="foo">
  <button class="submit">submit</button>
  <button class="safari"></button>
</form>

通过CSS隐藏

.safari { display: none; }

并使用JavaScript来触发隐藏的按钮,点击用户点击按钮可见后。

$('.button').click(function(){
  setTimeout(function(){
    $('.safari').click()
  }, 1);
});

fiddle

© www.soinside.com 2019 - 2024. All rights reserved.