JQuery val () не может получить значение из ввода - PullRequest
0 голосов
/ 27 мая 2019

У меня есть тест для рабочего стола браузера, такого как Chrome , Firefox и Safari на Macbook .

Все они работают нормально, но на iOS-устройствах получают пустое значение
Тест на iPhone5 8.1.2 HTML:

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>Control Panel</title>
    <script src="jquery.min.js" type="text/javascript"></script>
    <script src="admin.js" type="text/javascript"></script>
</head>

<body>
    <input type="text" id="change_type" name="change_type" hidden="hidden" value="" />
    <div class="type-select">
        <div class="radio">
            <input id="simple_captcha" name="captcha_select" type="radio" value="simple_captcha" />
            <label for="simple_captcha" class="select-label radio-label">Simple Captcha</label>
        </div>
        <div class="radio">
            <input id="svg_captcha" name="captcha_select" type="radio" value="svg_captcha" />
            <label for="svg_captcha" class="select-label radio-label">SVG Captcha</label>
        </div>
    </div>
    <script src="type.js" type="text/javascript"></script>
</body>

admin.js (загрузить в тег head):

function detectSetting(settingType, mod) {
    var setting_type = $('#change_type').attr('value');
    var data = {};
    data['settingType'] = setting_type;
    $.ajax({
        url: 'admin.php?mod='+mod,
        data: data,
        type: 'POST',
        success: function(data) {
            $('#show-setting').html(data);
        },
        error: function() {
            return false;
        }
    });
}

type.js (загрузка в теге body):

    var mod = 'type';
    $('.type-select>.radio input').change(function() {
        detectSetting('show_captcha_type', mod);
    });

    $('.type-select>.radio').click(function(event) {
        $('#change_type').attr('value', event.target.id);
    });

Я использую Safari Debug, чтобы увидеть результат на консоли,
только на iOS скрипт $('#change_type').attr('value'); станет пустым, даже если я использую Safari на Mac, он работал нормально, поэтому я думаю, что проблема на iOS ...

Редактировать: скрипт $('#change_type').attr('value', event.target.id); работал нормально, он успешно изменяет атрибут значения #change_type, просто не может прочитать его значение на iOS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...