т.е. отправка формы javascript с вводом файла

У меня есть html-форма с настраиваемым полем для загрузки файла .Под этим я подразумеваю, что я переместил фактическое поле файла за границы страницы с помощью css, что у меня есть настраиваемое поле ввода и кнопка, и что у меня есть событие щелчка jquery, прикрепленное к этой настраиваемой кнопке для запуска диалог ввода файла. Все отлично работает в любом браузере.

Но мне нужно отправить форму через javascript. И я где-то понял, что IE запоминает мои действия с javascript как злонамеренные манипуляции с полем ввода файла и блокирует мой доступ с ошибкой «доступ запрещен» , когда я вызываю document.formName.submit () .

Есть ли способ обойти это, потому что я полностью сошел с ума, пытаясь найти решение. Я серьезно не хочу использовать поле ввода файла по умолчанию, поскольку все браузеры отображают его по-разному и портят мой дизайн.

код:

<form name="thisForm" onsubmit="return false;" enctype="multipart/form-data" method="post" action="index.cfm/somepage">
    <input type="file" class="hidden" name="hidden" id="hidden" />
    <input type="text" name="shown" id="shown" />
    <button id="button">browse..</button>
    <input type="submit" id="submitForm" />
</form>

<script>
    $('button').click(function(){
        $('#shown').val($('#hidden').val());
    });

     $('submitForm').click(function(){
        validateForm();
    });

    function validateForm()
    {
        //regular expression validation against all other input fields in the form
        //not the file input field

        validateVAT();
    }

    function validateVAT()
    {
        //connect to external service to check VAT

        submitForm();
    }

    function submitForm()
    {
        document.thisForm.submit();
    }
</script>

ОБНОВЛЕНИЕ: Я просто попытался сначала загрузить файл перед отправкой формы через ajax, но это также дало мне ошибку отказа в доступе ..> _>

25
задан dreagan 23 February 2012 в 09:23
поделиться