0

クリックすると、JS ファイルに不思議なエラーが表示されます。

$('.atcf-submit-campaign-reward-popup-submit').click(function (e) {
    e.preventDefault();
    if (window.newPass) {
        var newReward = reward.clone();
        var count = rewardContainer.find('.atcf-submit-campaign-reward').length;
        newReward.removeClass('static');
        newReward.find('input, select, textarea').val('');
        newReward.find('input, select, textarea').each(function () {
            var label = $(this).prev().attr('for');
            var name = $(this).attr('name');

            name = name.replace(/\[(\d+)\]/, '[' + parseInt(count) + ']');
            label = label.replace(/\[(\d+)\]/, '[' + parseInt(count) + ']');

            $(this)
                .attr('name', name)
                .attr('id', name);

            $(this).siblings('label[for]').remove();
            $(this).siblings('label')
                .attr('name', name)
                .attr('id', name);
        });
        newReward.find('.atcf-submit-campaign-reward-adjust a').removeClass().addClass(String(count));

        newReward.insertBefore($('.atcf-submit-campaign-add-reward')).show();
    } else {
        var count = rewardContainer.find('.atcf-submit-campaign-reward').length - 1;
        $('.atcf-submit-campaign-reward').removeClass('static');
    };

    function passValue(source, set) {
        $(set).val($(source).val());
    }

    function addValue(source, set) {
        $(set).html($(source).val());
    }

    passValue('.reward-popup input#rewards\\[0\\]\\[price\\]', '.atcf-submit-campaign-rewards input#rewards\\[' + parseInt(count) + '\\]\\[price\\]');
    addValue('.reward-popup input#rewards\\[0\\]\\[price\\]', '.atcf-submit-campaign-rewards label#rewards\\[' + parseInt(count) + '\\]\\[price\\]');
    passValue('.reward-popup #rewards\\[0\\]\\[description\\]', '.atcf-submit-campaign-rewards input#rewards\\[' + parseInt(count) + '\\]\\[description\\]');
    addValue('.reward-popup #rewards\\[0\\]\\[description\\]', '.atcf-submit-campaign-rewards label#rewards\\[' + parseInt(count) + '\\]\\[description\\]');
    passValue('.reward-popup input#rewards\\[0\\]\\[limit\\]', '.atcf-submit-campaign-rewards input#rewards\\[' + parseInt(count) + '\\]\\[limit\\]');
    addValue('.reward-popup input#rewards\\[0\\]\\[limit\\]', '.atcf-submit-campaign-rewards label#rewards\\[' + parseInt(count) + '\\]\\[limit\\]');

    var api = $.data($('#main-slider')[0], 'liquidSlider');
    api.adjustHeight(true, api.getHeight());

    $.magnificPopup.close();

    window.newPass = true;
});

最初は e がクリック機能にアタッチしているイベントハンドラーだと思っていましたが、可能な限りすべてを試した後です。必要なヘルプのためにここに貼り付けます。

コードの機能: 送信ボタンに添付され、クリックすると、入力フィールドから値が取得され、その内容が別のフォーム フィールドに追加されます。

データを追加して閉じることになっています。最初の部分を実行している間、モーダルを閉じず、「e is undefined」(jquery-1.10.2.js) エラーをスローします。

これを解決するのに役立つものを共有したいと思います。

4

0 に答える 0