Email提交输入清除/css在iphone Safari或Chrome上不起作用

Email submit input clearing/css doesn't work on iphone Safari or Chrome

本文关键字:Safari Chrome 不起作用 iphone 输入 提交 清除 css Email      更新时间:2023-09-26

我在一个网站上有一个简单的email inputsubmit button。当我提交web application时,一切都工作了。当我在我的iOS phone上提交时,如果email有效,javascript/css不适用于提交,但如果电子邮件无效,javascript/css确实有效。

我已经试着调试这个东西一段时间了!

HTML:

<input name="_replyto" placeholder="your email address">
<button id="submitBtn" value="getaccess" onclick="handleEmailSubmit()"> get access</button>
JAVASCRIPT:

function handleEmailSubmit(){
    if( validateEmail($('input').val()) ) {
        var clientEmail=$('input').val();
        console.log('sending request...')
        csrfToken = $('meta[name="csrf-token"').attr('content');  
        $('input').addClass('submitBtnFlashGreen')
        $('input').val('Got it. Thanks!')
        setTimeout(function(){
            $('input').val('');
            $('input').addClass('submitBtnUnflash')
        },800); 
        setTimeout(function(){
            $('input').removeClass('submitBtnFlashGreen');
            $('input').removeClass('submitBtnUnflash')
        },1500);      
        $('input').val('');
        $.ajax({
            type:"POST",
            url:"/signup",
            dataType:"json",
            data:{
                _csrf:csrfToken,
                email:clientEmail
            },
            success:function(response){
                console.log('done!')
            }
        });
    }else{
        $('input').addClass('submitBtnFlash')
        $('input').val('email is invalid')
        setTimeout(function(){
            $('input').val('');
            $('input').addClass('submitBtnUnflash')
        },800); 
        setTimeout(function(){
            $('input').removeClass('submitBtnFlash');
            $('input').removeClass('submitBtnUnflash')
        },1500); 
    }    
}
function validateEmail(email) {
    var re = /^(['w-]+(?:'.['w-]+)*)@((?:['w-]+'.)*'w['w-]{0,66})'.([a-z]{2,6}(?:'.[a-z]{2})?)$/i;
    return re.test(email);
}

可能缺少']'导致行出错:

csrfToken = $('meta[name="csrf-token"').attr('content');