Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rdpacato

Criar form dinâmico

Recommended Posts

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>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
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).

    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>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
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 popup

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Eu 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();
                });
            });
        ]

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por babylon
      Ola amigos,
       
      Estava querendo criar algo para meu site, um botao igual do site abaixo para calcular formas de pagamento "ver formas de pagamento":
       
      https://www.chipart.com.br/pc-gamer-level-one-black-amd-3400g
       
      Segue imagem em anexo.
       
      Alguem poderia me ajudar se tem algum script algo pronto ou que ajude para abrir pop up modal?
       
      Obrigado a todos.
       
       

    • Por guialacerda
      Alguem me recomenda um plugin para colocar popups no wordpress? Vou usar imagens, tipo vou por uns 4 banners popup aleatórios.
    • Por notax
      Pessoal, boa tarde.
       
      Seguinte:
      Tenho um form e no mesmo form dois buttons... Esses buttons chamam uma função... Cada um deles dá um submit pra um pagina especifica... Assim:

       
      <script language="JavaScript"> function Gerar() { if (valida_campo()){ document.form.action="file1.php"; document.forms.form.submit(); } } function Calcular() { if (valida_campo()){ document.form.action="file2.php"; document.forms.form.submit(); } } </script>  
      Como eu faço para:
      1) abrir file2.php em um popup?
      2) tenho como abrir file2.php em um fancybox? Considerando que os dados são enviados por POST?

      Valeu!
       
       
       
       
       
    • Por VictorPHP
      Bom dia Galera!

      Fiz uma tela de cadastro na aplicação usando popup. Para cadastro tudo certo, pois não preciso recolher informações.
      Para fazer a tela de update, precisava que quando clicasse no link "Editar" ele buscasse a linha que eu cliquei para editar, porem em todas as tentativas de resolver isso ele pegou somente a primeira linha, fora que colocando o html do popup nessa ordem, ele foi parar la no canto direito.

      Segue o codigo de uma das tentativas :

      // Aqui é onde faço o select com todos ativos da carteira em tabela, e a DIV popup é exibida quando clico no link Editar. Não sei se é o lugar correto mas foi o mais proximo que consegui de fazer funcionar. Porem como ja explicado sempre pega o primeiro valor em vez da linha que cliquei
      {ativo.map(row => (
      <tr>
      <input className="key" value={row._id} />
      <td>{row.ativo}</td>
      <td>{row.quantidade}</td>
      <td>{row.data_entrada}</td>
      <td>{row.valor_entrada}</td>
      <td>{row.data_saida}</td>
      <td>{row.valor_saida}</td>
      <td>R${row.valor_saida - row.valor_entrada}</td>
      <td><a onClick={edit}>Editar</a></td>

      <div className="popupedit">
      <div className="popupedit-content">
      <img src={close} alt="close" onClick={fechar} className="close" width="20px" height="20px"/>
      <center><input type="text" placeholder="Ativo"></input>
      <input type="text" placeholder="Lotes"></input>
      <div className="datacompra">
      <input type="date" placeholder="Data da Compra" className="data"></input>
      <input type="checkbox" className="check"></input><label className="check">Hoje</label>
      </div>
      <input type="text" placeholder="Valor da Compra"></input>
      <div className="datacompra">
      <input type="date" placeholder="Data da Compra" className="data"></input>
      <input type="checkbox" className="check"></input><label className="check">Hoje</label>
      </div>
      <input type="text" placeholder="Valor da Venda"></input> </center>
      <button className="button">Adicionar</button>
      </div>
      </div>
      </tr>


      // função que chama exibi o popup
      function edit(){
      document.querySelector(".popupedit").style.display = "flex";
      }
    • Por kaionr
      Olá, estou com uma dificuldade para posicionar um elemento. 
      Se trata de um pop-up que aparece na tela ao clicar. Acontece que esse pop-up não fica centralizado em todas as telas dependendo da resolução.
      No momento estou usando o position absolute, a div é essa abaixo: 
      .form-structor { background-color: #222; border-radius: 15px; height: 550px; width: 450px; position: absolute; top: -100px; left: 170px; overflow: hidden; } Também já tentei:
      {position: relative; top: 50%; left: 50%;}
       
       
      Alguém pode me ajudar? 
      Qual propriedade eu utilizo para ficar centralizado tanto horizontal e quanto vertical em qualquer resolução?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.