Событие Mousedown на кнопке отправки нарушает поведение по умолчанию

0

У меня есть частичный вид, в котором есть входные файлы и кнопка отправки. Когда я пытаюсь отключить входные данные файла при нажатии кнопки отправки, HttpPostedFiles становится пустым в контроллере, я новичок в JQuery, поэтому я предполагаю, что это может повлиять на поведение кнопки отправки по умолчанию. Когда я делаю unbind on click, все это отменяется, входные файлы снова включаются. Следовательно, я попытался отключить ввод файлов в mousedown моей кнопки отправки, снова возникла проблема. Когда я удаляю этот код, я получаю опубликованные файлы.

Мое мнение содержит:

@{ Html.BeginForm("ActionName", "ControllerName", FormMethod.Post, 
new { id  "fileUploader",enctype  "multipart/form-data" });}

<div>
<table>
<tr><td><label for="file1">Filename:</label>           
<input type="file" name="files" id="file1" /></td></tr>
<tr><td><label for="file2">Filename:</label>         
<input type="file" name="files" id="file2" /></td></tr>     
<tr><td>  <input type="submit" id="btnUpload" name="Command" Value="Upload"/> </td></tr> </table>
</div>
@{ Html.EndForm();}

Мой файл сценария содержит:

$(document).ready(function () {
 $('#btnUpload').click(function (e) {
        $('#file1').attr('disabled', true);
        $('#file2').attr('disabled', true);


    });
});

Любые идеи, как я могу отключить входные файлы (input type = "file"), если поведение кнопки отправки не испортилось?

Заранее спасибо.

  • 0
    почему ты делаешь это в музее? сделать это в клик?
  • 0
    Отключенные элементы формы не отправляются при отправке формы, поэтому вам придется отключить их после отправки формы.
Показать ещё 5 комментариев
Теги:
asp.net-mvc-4

1 ответ

0

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

$('#file1').on("click", false);
    $('#file2').on("click", false);

    $('#file1').css("opacity", "0.5");
    $('#file2').css("opacity", "0.5");

Отключение всего элемента управления делало опубликованный файл нулевым.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню