Как не загружать файл при отправке - PullRequest
2 голосов
/ 06 апреля 2009

У меня есть форма в asp.net с элементом управления FileUpload внутри. Рядом с этим элементом управления у меня есть кнопка «Загрузить», которая используется для загрузки файла в список файлов. Проблема в том, что у меня также есть кнопка «Submi», используемая для отправки всей формы.

Теперь, когда кто-то выбирает файл с помощью кнопки просмотра и нажимает «Отправить», а не «Загрузить», файл загружается, и я бы не хотел этого.

Я надеюсь на asp.net или общий HTML-ответ

Ответы [ 5 ]

2 голосов
/ 06 апреля 2009

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

Для ASP.NET вам будет гораздо труднее, поскольку ASP.NET по умолчанию имеет только одну форму на страницу.

В конечном счете, я думаю, вам лучше переосмыслить свой дизайн. Попробуйте поместить этот файл загрузки на отдельной странице; если у вас есть страница, которая делает больше, чем одно, вы допускаете путаницу со стороны пользователя.

2 голосов
/ 06 апреля 2009

Похоже, что элемент управления FileUpload и кнопка загрузки должны быть внутри его собственной формы. При использовании ASP.NET и ограничения формы 1 на стороне сервера вам, возможно, придется прибегнуть к обычным элементам управления HTML, чтобы сделать это.

Кроме того, вы можете использовать JavaScript, чтобы очистить FileUpload, если кнопка Upload не нажата. Браузеры могут быть требовательны к доступу к входным файлам, хотя (по соображениям безопасности), поэтому они могут быть недоступны.

1 голос
/ 07 апреля 2009

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

<form id="A">
  <button name="submit>
</form>
<form id="B">
  <fileupload>
</form>

Я использую этот метод на одном из своих сайтов, и он работает довольно хорошо.

1 голос
/ 06 апреля 2009

Элемент управления FileUpload должен иметь свою собственную форму, если вы хотите, чтобы его отправляли отдельно. Когда вы нажимаете кнопку «Загрузить», другие части вашей формы также отправляются. Вот как это работает.

1 голос
/ 06 апреля 2009

Кнопка «Отправить» отправит всю информацию формы.

Попробуйте поместить элемент управления FileUpload снаружи, в другой форме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...