jQuery val()无法从输入中获取价值

时间:2019-05-27 03:41:14

标签: jquery html ios ajax

我已经测试了台式机浏览器,例如 Macbook 上的 Chrome Firefox 和Safari。

它们都可以正常工作,但只能在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');脚本将为空,即使我在Mac上使用Safari,它也可以正常工作,所以我认为问题出在iOS上...

编辑:脚本$('#change_type').attr('value', event.target.id);工作正常,成功更改了#change_type的value属性,只是无法在iOS上读取它的值

0 个答案:

没有答案