Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 表单from.load()复选框和文件输入不起作用_Jquery_Html_Ajax_Forms - Fatal编程技术网

Jquery 表单from.load()复选框和文件输入不起作用

Jquery 表单from.load()复选框和文件输入不起作用,jquery,html,ajax,forms,Jquery,Html,Ajax,Forms,使用Ajax,我在页面中加载表单。在这个表单中,还有文件输入、复选框和提交按钮。有了这些,我就可以提交表格了: $(WrapperDiv).on('click', SubmitButton, function(){...}) 我拿到了要提交的表格。这样,我也可以更改复选框的checked属性,但不能更改其外观。文件输入不会打开文件对话框。那么,它是如何处理这两个问题的呢 守则: HTML: 该死。我发现了问题。表单位于内部的内部div打包在外部div中,该div从网站的另一部分重用。在另一个.

使用Ajax,我在页面中加载表单。在这个表单中,还有文件输入、复选框和提交按钮。有了这些,我就可以提交表格了:

$(WrapperDiv).on('click', SubmitButton, function(){...})
我拿到了要提交的表格。这样,我也可以更改复选框的checked属性,但不能更改其外观。文件输入不会打开文件对话框。那么,它是如何处理这两个问题的呢

守则:

HTML:


该死。我发现了问题。表单位于内部的内部div打包在外部div中,该div从网站的另一部分重用。在另一个.js文件中,我执行以下操作:

$('.form-outer').on('click', function(){
    $(this).fadeOut()
}).children().on('click', function(e) {
    return false;
});

这导致了一个问题,因为这个脚本阻止了外部div的所有子事件。所以我真是太蠢了。我讨厌它^-^

看起来输入被禁用了。查看是否有匹配的CSS规则。不,它没有被禁用。表单中的所有正常输入都可以用作正常输入,我甚至可以在文件输入中拖动文档。我找不到CSS规则。
<form method="post" action="{% url 'wiki:add' typ %}">
    {% csrf_token %}
    <fieldset>
        <legend>{{ typ|capfirst }} hinzufügen</legend>
    <table class="table table-striped table-bordered">
        {{ form.as_table }}
    </table>
    </fieldset>

    <button type="submit" class="btn btn-default" id="form-btn">Senden</button>
</form>
$(document).ready(function(){
    $('.add-btn').on('click', function(){
        url = $(this).attr('data-url');
        $('#add-inner').load(url, function(form){
            $('#add-inner .datepicker').datepicker()
            $('#add-inner textarea').tinymce({
                theme: "modern",
                height: 100,
            })

            $('#add-inner').hide()
            $('#add-outer').fadeIn()
            $('#add-inner').slideDown()
            $('#add-inner').css('left', (($(window).width()-$('#add-inner').width())/2))
        })
    });
    $('.add-outer').on('click', function(){
        $('.add-outer .add-inner').slideUp('fast');
        tinyMCE.remove();
    })
    $('#add-inner').on('click', 'input[type=checkbox]', function(){
        console.log(this, 'click')
        $(this).attr("checked", !$(this).attr("checked"));
    })
    $('#add-inner').on('click', '#form-btn', function(){
        form = $('#add-inner form')
        $.ajax({
            type: 'POST',
            url: form.attr('action'),
            data: form.serialize(),
            success: function(response){
                if(response == 1){
                    $('#add-inner').slideUp()
                    $('#add-outer').fadeOut()
                }

            }
        })
    });


    $(window).resize(function(){
        $('#add-inner').css('left', (($(window).width()-$('#add-inner').width())/2))
    });
})
$('.form-outer').on('click', function(){
    $(this).fadeOut()
}).children().on('click', function(e) {
    return false;
});