表单验证不适用于Chrome和Firefox

Alberto Cortes占位符图像

我正在使用此联系表格。

<form name="contact" action="mailto:[email protected]&subject=subject&body=message"  
 onsubmit="return validate()" method="post" enctype="text/plain">
<label for="mail">Your mail address *</label>
<input type="text" name="mail"/></br></br>
<label for="subject">Subject *</label>
<input type="text" name="subject"/></br>
<label for="message">Your message *</label>
<textarea id="txtarea" name="message" form="contact"></textarea>
<input type="submit" value="Send"/>
</form>

而这个JavaScript

function validateMail(mail) {
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|     (\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(mail);
}
function validate(){
var x = document.forms["contact"];  
if (x[0].value == null || x[0].value == ""){
    alert("Your mail address");
    return false;
}else{
    if(!validateMail(x[0].value)){
        alert("mail address not valid");
        return false;
    }
}
if(x[1].value == null || x[1].value == ""){
    alert("Add a subject");
    return false;
}
if(x['txtarea'].value.length < 1 || x['txtarea'].value == '' || x['txtarea'].value == null){
    alert("Add your message");
    return false;
}  
}

这段代码可以在IE11(11.0.9600.18500)上完美运行,但是chrome 54.0.2840.71 m(64位)和FF ​​49.0.2只是忽略了我的JavaScript并继续使用空字段或无效信息发送邮件。

PS:我使用id为textarea,因为我无法使用form [#]选项找到它

编辑:我发现IE可以正确地将textarea标识为[object HTML TextAreaElement],但对于chrome和firefox均未定义

Himanshu Aggarwal

问题出在您的textarea,请form="contact"从中删除您可以使用以下表格-

<form name="contact" action="mailto:[email protected]&subject=subject&body=message" onsubmit="return validate()" method="post" enctype="text/plain">
    <label for="mail">Your mail address *</label>
    <input type="email" name="mail" /></br>
    </br>
    <label for="subject">Subject *</label>
    <input type="text" name="subject" /></br>
    <label for="message">Your message *</label>
    <textarea id="txtarea" name="message"></textarea>
    <input type="submit" value="Send" />
</form>

这是针对您的表单的几乎没有优化的Javascript函数-

function validateMail(mail) {
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|     (\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(mail);
}

function validate() {
    var x = document.forms["contact"];
    if (!x[0].value) {
        alert("Your mail address");
        return false;
    } else {
        if (!validateMail(x[0].value)) {
            alert("mail address not valid");
            return false;
        }
    }
    if (!x[1].value) {
        alert("Add a subject");
        return false;
    }
    if (!x['txtarea'].value) {
        alert("Add your message");
        return false;
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Jquery进行表单验证不适用于Chrome

来自分类Dev

使用Jquery进行表单验证不适用于Chrome

来自分类Dev

Microsoft Sitka字体不适用于Chrome和Firefox

来自分类Dev

jQuery touch Punch适用于Chrome和Firefox,但不适用于IE

来自分类Dev

jQuery Javascript仅适用于chrome和firefox,不适用于IE

来自分类Dev

jQuery touch Punch适用于Chrome和Firefox,但不适用于IE

来自分类Dev

JS适用于Firefox和Safari,但不适用于Chrome。这是我的网站

来自分类Dev

适用于chrome,但不适用于Firefox,Eventlistener,appendChild和style.backgroundColor

来自分类Dev

表格中网址的自动换行适用于chrome和safari,不适用于Firefox

来自分类Dev

单击切换适用于 Chrome 和 Safari 但不适用于 Firefox?

来自分类Dev

MVC5和OWIN facebook身份验证提供程序不适用于IE11和Firefox(但适用于Chrome)

来自分类Dev

带load()的jquery-issue:适用于Firefox和Safari,不适用于Chrome,Opera和IE

来自分类Dev

此PHP脚本不适用于Internet Explorer和Microsoft Edge,但适用于Chrome / Firefox / Safari / Opera

来自分类Dev

JavaScript UTC 到本地时间的转换不适用于 IE 和 Firefox,但适用于 Chrome

来自分类Dev

适用于iMacros的Firefox和Chrome

来自分类Dev

AngularJS表单验证不适用于指令

来自分类Dev

jQuery验证不适用于Ajax加载的表单

来自分类Dev

jQuery验证不适用于该表单

来自分类Dev

为什么验证不适用于表单请求?

来自分类Dev

ASP.NET验证不适用于网站表单

来自分类Dev

jQuery验证不适用于该表单

来自分类Dev

jQuery表单验证不适用于引导程序

来自分类Dev

jQuery验证不适用于联系表单

来自分类Dev

jquery 表单验证不适用于复选框

来自分类Dev

Jquery 验证不适用于没有标签的表单

来自分类Dev

Bootstrap 内联表单不适用于 chrome

来自分类Dev

<input type =“ file” />文件格式验证不适用于chrome和IE

来自分类Dev

CSS不适用于IE和Firefox,但可以在Chrome中使用

来自分类Dev

我的媒体查询不适用于 google chrome 和 firefox

Related 相关文章

  1. 1

    使用Jquery进行表单验证不适用于Chrome

  2. 2

    使用Jquery进行表单验证不适用于Chrome

  3. 3

    Microsoft Sitka字体不适用于Chrome和Firefox

  4. 4

    jQuery touch Punch适用于Chrome和Firefox,但不适用于IE

  5. 5

    jQuery Javascript仅适用于chrome和firefox,不适用于IE

  6. 6

    jQuery touch Punch适用于Chrome和Firefox,但不适用于IE

  7. 7

    JS适用于Firefox和Safari,但不适用于Chrome。这是我的网站

  8. 8

    适用于chrome,但不适用于Firefox,Eventlistener,appendChild和style.backgroundColor

  9. 9

    表格中网址的自动换行适用于chrome和safari,不适用于Firefox

  10. 10

    单击切换适用于 Chrome 和 Safari 但不适用于 Firefox?

  11. 11

    MVC5和OWIN facebook身份验证提供程序不适用于IE11和Firefox(但适用于Chrome)

  12. 12

    带load()的jquery-issue:适用于Firefox和Safari,不适用于Chrome,Opera和IE

  13. 13

    此PHP脚本不适用于Internet Explorer和Microsoft Edge,但适用于Chrome / Firefox / Safari / Opera

  14. 14

    JavaScript UTC 到本地时间的转换不适用于 IE 和 Firefox,但适用于 Chrome

  15. 15

    适用于iMacros的Firefox和Chrome

  16. 16

    AngularJS表单验证不适用于指令

  17. 17

    jQuery验证不适用于Ajax加载的表单

  18. 18

    jQuery验证不适用于该表单

  19. 19

    为什么验证不适用于表单请求?

  20. 20

    ASP.NET验证不适用于网站表单

  21. 21

    jQuery验证不适用于该表单

  22. 22

    jQuery表单验证不适用于引导程序

  23. 23

    jQuery验证不适用于联系表单

  24. 24

    jquery 表单验证不适用于复选框

  25. 25

    Jquery 验证不适用于没有标签的表单

  26. 26

    Bootstrap 内联表单不适用于 chrome

  27. 27

    <input type =“ file” />文件格式验证不适用于chrome和IE

  28. 28

    CSS不适用于IE和Firefox,但可以在Chrome中使用

  29. 29

    我的媒体查询不适用于 google chrome 和 firefox

热门标签

归档