Проблема с отправкой файла - PullRequest
0 голосов
/ 22 августа 2011
<form method="POST" enctype="multipart/form-data" action="http://site.com/img">
File: <input type="file" name="file" id="abc" /><br/>  
ID: <input type="text" name="someId" value="123"/>
<input id="submitFormButton" type="submit" value="Upload" name="Upload"> 
</form>

<input type="button" id="btnEditAvatar" value="fakeButton"/>

$("#btnEditAvatar").bind("click", function () { $("#abc").trigger("click"); });
$("#abc").change(function() { $("#submitFormButton").trigger("click"); });

Проблема возникает в IE только . Когда вы выбираете файл нажатием на кнопку «abc», он работает (после закрытия диалогового окна файл загружается), но когда я нажимаю на кнопку «btnEditAvatar», после закрытия файла не происходит ничего.

Я пытался использовать функцию «щелкнуть» вместо «изменить». Я пытался вызвать его с помощью функции setTimeout, а также пытался использовать обработчик события onpropertychange.

http://jsfiddle.net/streamcode9/hAnbQ/

Ответы [ 2 ]

1 голос
/ 22 августа 2011

Вместо этого, если вы пытаетесь нажать кнопку отправки, почему бы просто не отправить форму?

$("#abc").change(function() { $(this).closest('form').submit() });
0 голосов
/ 22 августа 2011

попробуйте любой из этих:

$("#btnEditAvatar").bind("click", function () { $("#submitFormButton").trigger("click"); });
$("#abc").change(function() { $("#submitFormButton").trigger("click"); });

Это обязывает его к отправке.

$("#btnEditAvatar").bind("click", function () { $("#abc").trigger("change"); });
$("#abc").change(function() { $("#submitFormButton").trigger("click"); });

это привязывает его к изменению, которое вызывает щелчок при отправке

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