【问题标题】:Javascript/jQuery not working on mobileJavascript/jQuery 无法在移动设备上运行
【发布时间】:2017-01-29 09:29:25
【问题描述】:

我的网站有以下 javascript 代码:

$(document).ready(function () {

$('button').attr('disabled', true);

$('button').click(function () {
    $('.registration').addClass('fly-out');

    // Get the variables
    var firstname = document.getElementsByName('firstname')[0].value;
    var lastname = document.getElementsByName('lastname')[0].value;
    var mail = document.getElementsByName('mail')[0].value;

    var informatik = document.getElementById('Informatik').checked ? 1 : 0;
    var medientechnik = document.getElementById('Medientechnik').checked ? 1 : 0;
    var medizintechnik = document.getElementById('Medizintechnik').checked ? 1 : 0;
    var elektronik = document.getElementById('Elektronik').checked ? 1 : 0;
    var fachschule = document.getElementById('Fachschule').checked ? 1 : 0;

    // Send the data to php
    $.ajax({
        url: "add.php",
        type: "POST",
        data: {
            'first': firstname,
            'last': lastname,
            'mail': mail,
            'informatik': informatik,
            'medientechnik': medientechnik,
            'medizintechnik': medizintechnik,
            'elektronik': elektronik,
            'fachschule': fachschule
        }
    });

    // Show the thank you form
    setTimeout(function () {
        $('.registration').addClass('hidden');
        $('.registration').removeClass('fly-out');
        $('.thankyou').removeClass('hidden');


        // Blend out the thank you form
        setTimeout(function () {
            $('.thankyou').addClass('disappear');

            // Show the registration form again
            setTimeout(function () {
                $('.thankyou').addClass('hidden');
                $('.thankyou').removeClass('disappear');

                // Clear the registration form
                $('input[name=firstname]').val('');
                $('input[name=lastname]').val('');
                $('input[name=mail]').val('');
                $('#Informatik').prop('checked', false)
                $('#Medientechnik').prop('checked', false)
                $('#Medizintechnik').prop('checked', false)
                $('#Elektronik').prop('checked', false)
                $('#Elektronik-Fachschule').prop('checked', false)
                $('button').attr('disabled', true);

                $('.registration').removeClass('hidden');
            }, 400);
        }, 2500);
    }, 700);
});
});

function change() {
    var firstname = document.getElementsByName('firstname')[0].value;
    var lastname = document.getElementsByName('lastname')[0].value;
    var mail = document.getElementsByName('mail')[0].value;

    var informatik = document.getElementById('Informatik').checked;
    var medientechnik = document.getElementById('Medientechnik').checked;
    var medizintechnik = document.getElementById('Medizintechnik').checked;
    var elektronik = document.getElementById('Elektronik').checked;
    var fachschule = document.getElementById('Fachschule').checked;

    var result = firstname.length > 0 && lastname.length > 0 && mail.length > 0 && validateMail(mail);
    var result = result && (informatik || medientechnik ||
        medizintechnik || elektronik || fachschule);

    $('button').attr('disabled', !result);
}

function validateMail(mail) {
    var regex = /^(([^<>()\[\]\\.,;:\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 regex.test(mail);
}

它在桌面浏览器上运行良好,但是当我在 Android (6.0 Nexus 5) 上使用 Chrome 打开它时它不起作用(按钮甚至没有被禁用)。

我现在想知道我做错了什么,因为我也需要让它在移动浏览器上运行。

【问题讨论】:

    标签: javascript android jquery mobile browser


    【解决方案1】:

    问题是我的菜鸟错误......

    我通过 CDN 嵌入了 jQuery,而不是从本地机器。当我在手机上尝试代码时,我将笔记本用作服务器。为此,我必须断开与无线网络的连接。因此,无法加载 jQuery,因此代码无法运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-25
      • 1970-01-01
      • 2015-01-26
      • 2014-08-30
      • 2017-01-28
      • 2016-08-17
      相关资源
      最近更新 更多