Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Preciso fazer link onde tenho que pegar no evento do Clique a sessão do usuário (xpath) e montar um "form" dinâmico com "action" desse link no método post.
E abrir um popup com estes dados da sessão.
Algo assim:
$('#formPopUp').bind('submit', function(){
var f = $(this);
f.attr('action', f.attr('action') + "?idt=" + $('#param').attr('value'));
});
Tenho meu código:
<html>
<head>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<style></style>
<script language=javascript type="text/javascript">
function criarPopup(){
newWindow = window.open ('', 'pagina', "width=350, height=255, top=100, left=110, scrollbars=no ");
newWindow.document.write ("Este é um novo popup <br/> <img src='imagem.jpg' width='100' height='100'>");
}
</script>
</head>
<body>
<form action="testeAction" method="POST" class="formPopUp">
<div class="img-push">
<input type="hidden" name="idp" value="teste">
</div>
</form>
<input type='button' id='valor' onClick='criarPopup()' value='Teste'/>
</body>
</html>>
Em 21/02/2018 at 10:51, rdpacato disse:
Preciso fazer link onde tenho que pegar no evento do Clique a sessão do usuário (xpath) e montar um "form" dinâmico com "action" desse link no método post.
E abrir um popup com estes dados da sessão.
Pessoal,
Estou pegando os dados dos campos, mas não estou conseguindo enviar para a popup estes valores da url (e nem abrir a popup).
function buildPost(form) {
var result = {};
$(form+" input, "+form+" select, "+form+" textarea, ").each(function() {
result[$(this).attr('name')]=$(this).attr('value');
});
return result;
}
Form que criei:
<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>
<!-- <input type="submit" onclick="buildPost('#formPopUp'); return false;"/> -->
<input type="submit" onclick="criarPopup('#formPopUp');"/>
</form>
Em resumo, pegar valor do link <a> e mudar a action do form e pegar os valores do form para enviar para popupEu fiz o código abaixo e funcionou… Só queria saber o pq que se eu tirar o target =“0” ele não abre popup.
function abrePaginaPost() {
prog = document.getElementById("link").value;
//monta link + parametros
prog = prog + '?tipousuario='+document.getElementById("tipousuario").value+
'&status='+document.getElementById("status").value+
'&codusuario='+document.getElementById("codusuario").value;
//fim
var form = document.getElementById('formPopUp');
form.action = prog;
prop="left=0,top=0,toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=yes,resizable=1,width=780,height=540";
janela=window.open("","0",prop).focus();
form.target = "0";
form.submit();
}
</script>
Outro exemplo mais completo:
$(function() {
var params = '[%xpath://@sessionURLParams%]';
$(".openPopup").click(function(e){
var leftW = 600;
var topA = 500;
var larg = ($(window).width() - w) / 2;
var alt = ($(window).height() - h) / 2;
var form = null;
if($(this).is(".submitForm")) {
form = $(this).closest("form");
} else {
form = $("<form />");
}
form.attr("action",$(this).attr("href"));
form.attr("target","pop1");
params = params.split("&");
for(var p = 0; p < params.length; p++) {
var hd = $("<input type='hidden' name='" + params[p].split("=")[0] + "' value='"+params[p].split("=")[1]+"' />");
hd.appendTo(form);
}
form.attr("method","POST");
window.open($(this).attr("href"),"pop1","width="+ w +",height="+ h +",left=" + leftW + ",top=" + topA);
form.submit();
return false;
e.preventDefault();
e.stopImmediatePropagation();
});
});
]
>
20 horas atrás, rdpacato disse:
Preciso fazer link onde tenho que pegar no evento do Clique a sessão do usuário (xpath) e montar um "form" dinâmico com "action" desse link no método post.
E abrir um popup com estes dados da sessão.
Pessoal,
Estou pegando os dados dos campos, mas não estou conseguindo enviar para a popup estes valores da url (e nem abrir a popup).