Ir para conteúdo

Arquivado

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

PRSolucaoWeb

Criar campos

Recommended Posts

Bom dia

 

Preciso adicionar em um sistema um campo aonde eu digito a quantidade de campos e ao clicar em gerar cria os campos determinados.

Exemplo se eu digo 10 ele cria 10 registros em branco em sequencia.

Como posso utilizar essa função?

Alguém poderia me auxiliar por favor?

 

Muito Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso que vc quer é em JavaScript,

 

Mas veja se esse script te ajuda no que quer:

<html>
<head>
<script type="text/javascript">

function adicionarCampos() {
var objSelect = document.getElementById("addCampos");
var i;
var linha = "";

	if (objSelect.value != "") {
		for (i=0; i < objSelect.value; i++) {
			linha += "<input type='text' name='data"+i+"' id='linha"+i+"'><br><br>"
		} 
		document.getElementById("resultado").innerHTML = linha;
	}else{
		document.getElementById("resultado").innerHTML = "";
	}
} 
window.onload = function(){
   adicionarCampos(); //executando ao carregar a página
};
</script>
</head>

<form name="form1" action="" method="post">

<input id="addCampos" type="text" name="addCampos" onChange="adicionarCampos()" value="1">


<br><br><span id="resultado"></span>
</form>
</body>
</html>

Espero que ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo

 

 

/*
 *
 * Como usar:
 *         todo o script se baseia nos parâmetros, logo você só terá que defini-los. Sâo eles:
 *             formID » valor do tipe ID que recebe o formulário
 *             buttonAdd » valor do tipo ID que recebe o botão para adicionar;
 *             textButtonRemove » valor do tipo STRING que especifíca o texto que aparecerá no botão de excluir campo
 *             maxInputs » valor do tipo inteiro que especifíca o máximo de campos a serem criado
 *             minInputs » valor do tipo inteiro que especifíca o mínimo de campos, no documento, depois de criados
 *             textLabel » valor do tipo STRING que especifíca o texto que aparecerá no label
 */

window.onload = function(){
    addRemoveInput("upload", "btnAdd", "Deletar Campo!", 10, 2, "URL ");
};

function addRemoveInput(formId, buttonAdd, textButtonRemove, maxInputs, minInputs, textLabel){
    var form = document.getElementById(formId);
    var btnAdd = document.getElementById(buttonAdd);
    var inputs = 0;
    var labels = document.getElementsByTagName("label");
    
    btnAdd.onclick = addInput;
    
    function addInput(){
        if(labels.length < maxInputs){
            ++inputs;
            
            var label = document.createElement("label");
            var input = document.createElement("input");
            var btnRemove = document.createElement("input");
            
            label.innerHTML = textLabel + inputs;
            input.setAttribute("type", "text");
            btnRemove.setAttribute("type", "button");
            btnRemove.setAttribute("value", textButtonRemove);
            
            label.appendChild(input);
            
            if(labels.length < minInputs){
                form.appendChild(label);
            } else{
                label.appendChild(btnRemove);
                form.appendChild(label);
            }
            btnRemove.onclick = removeInput;
            
        } else alert("Você pode adicionar até " + maxInputs + " campos!");
    }

    function removeInput(){
        if(labels.length == minInputs + 1){
            inputs--;
            alert("Você deve deixar no mínimo " + minInputs + " campo(s)!");
            form.removeChild(this.parentNode);
        } else{
            inputs--;
            form.removeChild(this.parentNode);
        }
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites
xanburzum, a minha aplicação funciona assim, quando vou abrir um PEDIDO ele já gera um campo para poder adicionar os produtos.

O que preciso agora é que tenha um campo que pega o mesmo codigo do cliente e ai digitar a quantidade ele cria os campos para depois eu colocar as informações referente ao pedido.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

para pegar o código do cliente, basta recuperar seu ID e jogar no value do novo campo e vc pode usar esse code que postei e apenas adequá-lo para quando digitar, por exemplo: 3 ele criar 3 campos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

XANBURZUN, eu tenho um pouco de dificuldade em adaptar.

Poderia me ajudar, por favor?

Ao tenho um botão que cria os campos, eu vou clicando e vai criando.

Segue:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

 

<!--#include file ="../Connections/oConn.asp" -->

 

<%

Response.Buffer = FALSE

Response.Expires = 0

Response.CacheControl = "no-cache"

Response.AddHeader "Pragma","no-cache"

Session.TimeOut = 1440

Server.ScriptTimeOut = 999.999

 

codigo = request.QueryString("codigo")

num_os = request.QueryString("no_os")

id = request.QueryString("id")

 

Session.LCID = 4106

 

razao_social = Request.QueryString("razao_social")

data_abertura = Request.QueryString("data_abertura")

solicitado_por = Request.Form("solicitado_por")

ser_realizado = Request.Form("ser_realizado")

acessorios_env = Request.Form("acessorios_env")

quant = Request.Form("quant")

equipamento = Request.Form("equipamento")

tipo_sistema = Request.Form("tipo_sistema")

versao_sistema = Request.Form("versao_sistema")

serie_sistema = Request.Form("serie_sistema")

contador_sistema = Request.Form("contador_sistema")

teclas_sistema = Request.Form("teclas_sistema")

data_anterior_sistema = Request.Form("data_anterior_sistema")

defeito_reclamado_sistema = Request.Form("defeito_reclamado_sistema")

defeito_detectado_sistema = Request.QueryString("defeito_detectado_sistemas")

tecnico = Request.Form("tecnico")

v_unitario = Request.Form("v_unitario")

v_total = Request.Form("v_total")

sub_total = Request.Form("sub_total")

custo_envio = Request.Form("custo_envio")

outros = Request.Form("outros")

tipo_coleta = Request.Form("tipo_coleta")

cliente_informado = Request.Form("cliente_informado")

contato = Request.Form("contato")

data_retirada = Request.Form("data_retirada")

responsavel = Request.Form("responsavel")

observacoes = Request.Form("observacoes")

lc_status = Request.Form("lc_status")

situacao_om = Request.Form("situacao_om")

data_exec = Request.Form("data_exec")

hora_exec = Request.Form("hora_exec")

conf_at = Request.Form("conf_at")

conf_exp = Request.Form("conf_exp")

urgente = Request.Form("urgente")

gerar_of_om = Request.Form("gerar_of_om")

desconto = Request.Form("desconto")

 

usuario = session("usuario")

ip = Request.ServerVariables("REMOTE_ADDR")

 

'Insesir campos para a O.M

set gerar_campos = server.createobject("adodb.recordset")

set gerar_campos = db_conn.execute ("SELECT codigo FROM TB_PEDIDO where codigo = '"&codigo&"'")

 

set gerar_campos = server.createobject("adodb.recordset")

set gerar_campos = db_conn.execute ("SELECT codigo FROM TB_PEDIDO_ITENS order by codigo DESC")

 

set gerar_campos = db_conn.execute ("SELECT no_os FROM TB_PEDIDO_ITENS order by no_os DESC")

 

function mask_data( obj )

obj = CDAte( obj )

dia = Day( obj )

mes = Month( obj )

ano = Year( obj )

 

if dia < 10 then

dia = "0" & dia

end if

 

if mes < 10 then

mes = "0" & mes

end if

 

mask_data = mes &"/"& dia &"/"& ano

end function

 

db_conn.execute ("insert into TB_PEDIDO_ITENS (no_os, codigo, razao_social, quant, equipamento, situacao_pedido, data_abertura) Values('"&num_os&"','"&codigo&"','"&razao_social&"','0','"&equipamento&"','2','"&mask_data(data_abertura)&"')")

 

set gerar_campos = nothing

 

Response.redirect "gerar_pedido.asp?codigo="&codigo&"&no_os="&num_os&""

%>

 

 

Bom dia

 

Por favor não estou conseguindo.

 

:upset: :upset: :upset: :upset: :upset:

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o erro gerado ?!?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, não consigui fazer.

Conforme o codigo acima que coloquei, ao clicar num botão ele gera os campos.

Mas agora gostaria de colocar um campo no lugar desse icone que gera os campos, ao digitar a quantidade de campos já registra.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

você quer um outro campo, onde será digitado a quantidade de campos que será criada. Tipo, coloca 3 ele cria 3 campos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso mesmo.
Conforme a imagem anexo.

 

tela1.gif

Se digito 15 campos ele vai criar 15 campos e ai eu adiciono as informações.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc implementou o código que postei ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No post#2 te faz isso só que de modo mais simples.

 

Daí basta ir adaptando para seu code.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este aqui.

<html>
<head>
<script type="text/javascript">

function insere_camp() {
var objSelect = document.getElementById("insereCampos");
var i;
var input = "";

    if (objSelect.value != "") {
        for (i=0; i < objSelect.value; i++) {
            input +=+i+1 + " Campo" + "<input type='text' name='data"+i+"' id='input"+i+"'><br><br>"
        }
        document.getElementById("mostrar").innerHTML = input;
    }else{
        document.getElementById("mostrar").innerHTML = "";
    }
}
window.onload = function(){
   insere_camp();
};
</script>
</head>

<form name="form1" action="" method="post">

Insira a quantidade de campos:<input id="insereCampos" type="text" name="insereCampos" onChange="insere_camp()" value="">


<br><br><span id="mostrar"></span>
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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