【问题标题】:Safari input type email required需要 Safari 输入类型电子邮件
【发布时间】:2015-12-04 23:11:31
【问题描述】:

我在 html/php 中有一个联系表格,但在 SAFARI 浏览器中一切正常

例如,我有

<form>
<input id="txtEmail" class="formincricao" type="email" required placeholder="email" value="" name="txtEmail"/>
<input type="submit" name="btnSendInfo" value="send" id="btnSendInfo" />
</form>

所需的不工作也类型电子邮件...在 safari 中不验证电子邮件

我尝试使用验证

var forms = document.getElementsByTagName('form'); for (var i = 0; i < forms.length; i++) {
forms[i].noValidate = true;

forms[i].addEventListener('submit', function(event) {
    //Prevent submission if checkValidity on the form returns false.
    if (!event.target.checkValidity()) {
        event.preventDefault();
        alert('Please, fill the form');
        //Implement you own means of displaying error messages to the user here.
    }bnbvds
}, false); }

还是不行

【问题讨论】:

  • 您能否发布您的 PHP 以及表单的其余部分和任何相关的 Javascript?
  • 是的,我可以发布 php 和 javascript。没问题

标签: javascript php html safari


【解决方案1】:

html5 'required' 关键字在 safari 中的表现不如在 chrome 中那样好。您应该编写自己的 javascript 验证或使用众多 prerolled validation libraries 之一。

【讨论】:

  • 是的,我明白了。我尝试创建 javascript 验证。但是我仍然无法验证电子邮件
  • 您可以使用 javascript 正则表达式来确保存在 @ 符号或类似符号。
【解决方案2】:
<input type='text' id='txtEmail'/>
<input type='submit' name='submit' onclick='Javascript:checkEmail();'/>

现在,当单击按钮时,将调用 JavaScript 函数 SubmitFunction()。现在在这个函数中编写下面的代码。

<script language="javascript">

function checkEmail() {

    var email = document.getElementById('txtEmail');
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

    if (!filter.test(email.value)) {
    alert('Please provide a valid email address');
    email.focus;
    return false;
 }
}</script>

现在您已经通过 JavaScript 成功验证了您的 HTML 控件。

【讨论】:

  • 嗨,谢谢。可以和form一起使用吗?
  • 仍然发送表单...空白...没有控制电子邮件
猜你喜欢
  • 2017-07-05
  • 1970-01-01
  • 2014-03-01
  • 2012-04-29
  • 1970-01-01
  • 2017-04-13
  • 2023-03-29
  • 2021-05-21
  • 2018-09-20
相关资源
最近更新 更多