Вход

Просмотр полной версии : Submit формы


spirit1086
07.09.2015, 14:18
Здравствуйте, подскажите как сделать чтобы submit формы нормально отработал в ie 7,8,9
В шаблоне такой тег привязано к классу ubtn

<span class="ubtn" style="width:150px;height:150px;display:inline-block;position: relative">Загрузить</span>

Динамически средствами js создается форма и iframe

<form action="upload.php" method="POST" enctype="multipart/form-data" id="uform" target="imgframe">
<input type="file" name="img_src" id="img_src">
</form>

<div><iframe name="imgframe" id="imgframe"></iframe></div>


При клике на .ubtn средствами jquery кликаю на inpyt type=file открывается окно выбора файла, затем при изменении происходит сабмит формы, но так понимаю форма уходит пустой. скал в инете не нашел точного ответа в чем проблема. Решил обратиться сюда может подскажите кто реализовывал уже .
Заметил если выбрать файл нажав на input type="file", то файл отправляется, если открыть input type="file" средствами jquery кликнув на .ubtn то ничего не происходит

$(".ubtn").click(function()
{
$("#img_src").trigger("click");
});


$("#img_src").on('change', function()
{
$("#uform").trigger("submit");
})

Vlasenko Fedor
07.09.2015, 21:42
function buildElement(tagName, props) {
var element = document.createElement(tagName);
for (var propName in props) element[propName] = props[propName];
return element;
}

function submit(link, props) {
var form = buildElement('form', {method: 'post', action: link});
for (var propName in props) form.appendChild(
buildElement('input', {type: 'hidden', name: propName, value: props[propName]})
);
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
}

submit('index.php', {name: 'Ivan', year: '25'});