Мне нужно отправить форму с target = _blank и перенаправить страницу на другую.redirect после формы отправить jquery
HTML
<form id="registration_form" name="registration_form" method="post" action="actionurl" target="_blank">
<input type="button" name="submit" id="submit" value="Submit" />
</form>
Jquery
$(document).ready(function()
{
$('#registration_form').submit(function(e)
{
var flag=validate();
if(flag)
$(location).attr('href',redirectionurl);
return flag;
});
$("#submit").click(function(){
$('#registration_form').submit(); // this triggers the submit event
});
});
Если я изменить тип кнопки для ВВЕСТИ формы представления в соответствии с флагом проверки, но перенаправление не работает.
Если я использую BUTTON вместо отправки перенаправления, но форма не отправляется.
Где я был неправ. Помогите.
спасибо.
Поскольку отправитель отправляется в оба конца на сервер, было бы логичным сделать это перенаправление на стороне сервера? – nubinub
@ nubinub любое решение? – smk3108
Стандартная форма - это, как правило, полный запрос. Если форма будет отправлена, страница перезагрузится, и ваше перенаправление не будет работать надежно, так как новая страница будет загружена. Вам необходимо переопределить поведение по умолчанию и отправить данные формы с помощью запроса Ajax, если вы хотите добавить дополнительную логику (вы не можете работать после стандартного представления без трюков). Похоже, вы эффективно воссоздаете поведение по умолчанию, хотя ... поэтому код на стороне сервера должен просто обслуживать новую страницу, и проверка должна быть выполнена перед отправкой (а затем ваша работа выполнена). В противном случае вам нужно будет немного прочитать –