У меня проблема:Отправить 2 формы с 1 кнопкой, form1 после формы 2 завершена
2 формы, которые необходимо отправить одной кнопкой. Я объясню, как это должно работать. И, конечно, мой код до сих пор.
#frmOne содержит поле url, где мне нужно скопировать данные из моего #frmTwo, это работает. (она заставляет посетителя использовать WWW, а не HTTP: //. И т.д.)
При нажатии 1 кнопки отправки
- Проверка полей #frmOne (только URL работает сейчас, помощь нужна на другие)
- Вызвать #frmTwo и показать результат в iframe. результат показывает индикатор выполнения (работает) Но Div, modal или любое другое решение, кроме iframe, приветствуются.
- Закрыть #frmOne (не работает)
- Наконец процесс (представить) #frmOne если #frmTwo делается (не работает)
Процесс завершен код #frmTwo в IFRAME =
<div style='width' id='information'>Process completed</div>
<ol class="forms">
<iframe width="100%" height="50" name="formprogress" frameborder="0" scrolling="no" allowtransparency="true"></iframe>
<div id="txtMessage"></div>
</ol>
<div id="hide-on-submit">
<form id="frmOne" method="post">
<input type="text" name="company" id="company" >
<input type="text" name="url" id="url" >
<input type="text" name="phone" id="phone" >
<input type="text" name="occupation" id="occupation" >
<textarea rows="20" cols="30" name="summary" id="summary" >
<button type="submit" class="btn btn-danger">Submit</button>
</form>
</div>
<form id="frmTwo" method="post" target="formprogress"></form>
<script>
jQuery(document).ready(function(){
//Cache variables
var $frmOne = $('#frmOne'),
$frmTwo = $('#frmTwo'),
$txtMessage = $('#txtMessage'),
frmTwoAction = 'http://www.mydomainname.com/form.php?url=';
//Form 1 sumbit event
$frmOne.on('submit', function(event){
event.preventDefault();
var strUrl = $frmOne.find('#url').val();
//validation
if(strUrl === ''){
$txtMessage.html('<b>Missing Information: </b> Please enter a URL.');
}
else if(strUrl.substring(0,7) === 'http://'){
//Clear field
$frmOne.find('#url').val('');
$txtMessage.html('<b>http://</b> is not supported!');
}
else if(strUrl.substring(0,4) !== 'www.'){
//Clear field
$frmOne.find('#url').val('');
$txtMessage.html('<b>Invalid URL</b> Please enter a valid URL!');
}
else{
//set form action and submit form
$frmTwo.attr('action', frmTwoAction + strUrl).submit();
$('#hide-on-submit').hide(0).fadeIn(1000);
$('form#frmOne').submit(function(e) {
$(this).hide(1000);
return true; // let form one submit now!
}
return false;
});
});
</script>
Я думаю, что ajax поможет здесь –
Привет, Jonas, ладно. Но как. (Я не профессионал jquery или ajax) – Gfive
Это в значительной степени учебная версия межкадровой скриптовой атаки. https://www.owasp.org/index.php/Cross_Frame_Scripting Я бы не пошел по этой дороге. Могут быть ограничения безопасности браузера, которые предотвратят различные действия. Найдите способ удаления фреймов и одну форму. – mastaBlasta