Olá pessoal tudo bom?
Estou precisando montar um form dinâmico, ou seja, valores do action como variável e mandar os dados de sessão (session) para um popup com POST, sem submeter a tela principal.
achei um modelo de ajax mas não entendo muito e não sei como passar parâmetros para ele (ainda). Se alguém puder me ajudar agradeço:
$('#formPopUp').submit(function(event){
event.preventDefault();
var $form = $(this);
$.ajax({
type: 'POST',
url: $form.attr('action'),
data: $form.serialize(),
success: function(data) {
var $elm = $('<div/>').attr('id','formResult');
$elm.html(data);
$.magnificPopup({
items: {
src: $elm.html(),
type: 'inline'
}
});
},
error: function(error) {
// Do something with the error
}
});
});
Esse form é só de teste para ver se manda valores, porque a página do action, queria passar os valores do link <a>:
<form id="formPopUp">
<input name="input1" value="campo1" />
<select name="input2">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<textarea name="input3">textarea</textarea>
<a href="www.algo" id="link" onclick="criarPopup();">Link</a>
</form>
O JS que estava tentando montar:
function criarPopup(){
var newAction = document.getElementById("link").getAttribute("href");
document.getElementById("formPopUp").action = newAction;
var obj = document.getElementById("formPopUp");
var dados = new FormData(obj);
newWindow = window.open(newAction,'PopUp','toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=yes, width=650, height=380');
}