Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.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 需要Safari输入类型电子邮件_Javascript_Php_Html_Safari - Fatal编程技术网

Javascript 需要Safari输入类型电子邮件

Javascript 需要Safari输入类型电子邮件,javascript,php,html,safari,Javascript,Php,Html,Safari,我有一个html/php的联系人表单,一切正常,但是在SAFARI浏览器中,如果我尝试联系/提交而不在所有输入框中写入表单,则表单无法验证 例如,我有 <form> <input id="txtEmail" class="formincricao" type="email" required placeholder="email" value="" name="txtEmail"/> <input type="submit" name="btnSendInfo" v

我有一个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); }
var forms=document.getElementsByTagName('form');对于(var i=0;i

然而,html5的“required”关键字在safari中的效果不如在chrome中的效果好。您应该编写自己的javascript验证,或者使用其中的一种


现在,当单击该按钮时,将调用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>

函数checkEmail(){
var email=document.getElementById('txtEmail');
变量过滤器=/^([a-zA-Z0-9\.\-])+\@([a-zA-Z0-9\-])+\)+([a-zA-Z0-9]{2,4})+$/;
如果(!filter.test(email.value)){
警报(“请提供有效的电子邮件地址”);
email.focus;
返回false;
}
}

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

您可以发布PHP以及表单的其余部分和任何相关JavaScript吗?是的,我可以发布PHP和JavaScript。没问题是的,我明白。我尝试创建javascript验证。但是,我仍然无法验证电子邮件。您可以使用javascript正则表达式来确保存在@符号或类似符号。您好,谢谢。可以和表单一起使用吗?仍然发送表单。。。在空白处。。。无控制电子邮件
<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>