Ir para conteúdo

POWERED BY:

Arquivado

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

fabiosc80

Integração Javascript com ASP

Recommended Posts

Tenho uma dúvida chatinha.

 

Tenho um formulario aonde me manda através de uma função que esta em um option o id deste option.

 

Porem tenho que ao recuperar o valor me jogar dentro do select mysql que estou abrindo dentro da função.

 

Porem nao me retorna.

 

Estou jogando assim:

 

function carregar(el) 
{
var objItem = document.getElementById("sel"+el);
var objQtde = document.getElementById("qtde"+el);	
var objVunit = document.getElementById("vUnit"+el);
var objCliente = document.getElementById("vCliente"+el);

alert(objItem.value);

<%
Set Obj_Produtos_RS = Conn.Execute("SELECT * from ju_te_produtos where codigo_produto="&objItem.value)%>

if (objItem.value = 1<%'=Obj_Produtos_RS("Codigo_Produto")%>) {
			parseFloat(objCliente.value).toFixed(2);
			objCliente.value = "2000<%'=Obj_Produtos_RS("Produto")%>";
			parseFloat(objVunit.value).toFixed(2);
			objVunit.value = "5000<%'=Obj_Produtos_RS("Valor_Mercado")%>";
		}	
	
}

Mas o select nao funfa, fala que o objecto nao esta correto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq você naun recupera direto pelo campo, ou inves de passar

var objItem = document.getElementById("sel"+el);

 

e existem exemplos de como recuperar e passar variavel js para ASP

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq o sistema esta podendo criar varios registros.

eu posso adicionar campos e assim eu jogo a leitura do array.

 

 

vou te postar o código aqui pra você ter noção do problema.

 

<!--#include file="conn.asp"-->
<!--#include file="inc_funcoes.asp"-->
<%call verifica_vendedores()%>
<script type="text/javascript">
//Total máximo de campos que você permitirá criar em seu site:
var totalCampos = 30;

//Não altere os valores abaixo, pois são variáveis controle;
var iLoop = 1;
var iCount = 1;
var linhaAtual;


function AddCampos() {
//Executar apenas se houver possibilidade de inserção de novos campos:
        if (iCount < totalCampos) {
         var objTr = document.getElementById("linha"+iCount);
         objTr.style.display = "";
         iCount++;
        }
}

function ResetCampos() {
//Executar apenas se houver possibilidade de inserção de novos campos:
        if (iCount > totalCampos) {
         var objTr = document.getElementById("linha"-iCount);
         objTr.style.display = "";
         iCount--;
        }
}


function carregar(el) 

{

var objItem = document.getElementById("sel"+el);
var objQtde = document.getElementById("qtde"+el);	
var objVunit = document.getElementById("vUnit"+el);
var objCliente = document.getElementById("vCliente"+el);

<%
Set Obj_Produtos_RS = Conn.Execute("SELECT * from ju_te_produtos where codigo_produto="&docuobjItem.value)%>

if (objItem.value = 1<%'=Obj_Produtos_RS("Codigo_Produto")%>) {
			parseFloat(objCliente.value).toFixed(2);
			objCliente.value = "2000<%'=Obj_Produtos_RS("Produto")%>";
			parseFloat(objVunit.value).toFixed(2);
			objVunit.value = "5000<%'=Obj_Produtos_RS("Valor_Mercado")%>";
		}	
	
}


function somar(el) {
	

var objItem = document.getElementById("sel"+el);
var objQtde = document.getElementById("qtde"+el);
var objVunit = document.getElementById("vUnit"+el);
var objCliente = document.getElementById("vCliente"+el);
var objVtot = document.getElementById("vTot"+el);
var SubTot = document.getElementById("subTotal"+el);
var objFrete = document.getElementById("frete"+el);
var objDesc = document.getElementById("decapagem"+el);
var objTotal = document.getElementById("total"+el);



		if ((objQtde.value >= 1) && (objQtde.value < 5)){
			parseFloat(objCliente.value).toFixed(2);
			objCliente.value = "2720.00"
		}
		
		if ((objQtde.value >= 5) && (objQtde.value < 10)){
			parseFloat(objCliente.value).toFixed(2);
			objCliente.value = "2400.00"
		}
//alert(1+(45-45)/30*(1.5/100)*0.82/(1-(0.82))/9.99)*10;

	    if (objItem.value != "") {
                objVunit.value = objItem.value;
                var total = (parseFloat(objItem.value)*parseFloat(objQtde.value)+parseFloat(objDesc.value)+parseFloat(objFrete.value));
                objVtot.value = total.toFixed(2);
        }else{
                objVunit.value = "0.00";
                objVtot.value = "0.00";
        }

var calcSubTotal = 0;
for (iC = 1; iC<=totalCampos; iC++) {
        calcSubTotal += parseFloat(document.getElementById("vTot"+iC).value);
}
SubTot.value = calcSubTotal.toFixed(2);
calcTotal = (calcSubTotal);
objTotal.value = calcTotal.toFixed(2);
}
</script>
</head>
<body>
<form name="form1" action="" method="post">

<script type="text/javascript">
var linha2 = "";
linha2 += "<table width='980' border='0'>";
linha2 += "<tr>";
linha2 += "<td width='100px'>Produto</td>";
linha2 += "<td width='100px'>Quantidade</td>";
linha2 += "<td width='100px'>Preço de Tabela</td>";
linha2 += "<td width='100px'>Preço do Cliente</td>";
linha2 += "<td width='100px'>Corte + Dec</td>";
linha2 += "<td width='100px'>Frete</td>";
linha2 += "<td width='100px'>Total Produto</td>";
linha2 += "<td width='100px'></td>";
linha2 += "<td width='100px'></td>";
linha2 += "<td width='80px'></td>";
linha2 += "</tr>";
linha2 += "</table>";
document.write (linha2);
</script>

<script type="text/javascript">
//Escrevendo o código-fonte HTML e ocultando os campos criados:
for (iLoop = 1; iLoop <= totalCampos; iLoop++) {
var linha = "";
if (iLoop <=1) {
        visualizar = "";
} else {
        visualizar = "none";
}

		linha += "<table width='980' border='0'>";
        linha += "<tr id='linha"+iLoop+"' style='display:"+visualizar+"'>";
        linha += "<td width='100px'>";
        linha += "<select id='sel"+iLoop+"' onchange='carregar("+iLoop+")'>";
        <%Set Obj_Produtos_RS = Conn.Execute("SELECT * from ju_te_produtos")%>
		linha += "<option value=''>---</option>";
		<%
		Do while not Obj_Produtos_RS.eof
		%>		
        linha += "<option selected value='<%=Obj_Produtos_RS("Codigo_Produto")%>'><%=Obj_Produtos_RS("Produto")%></option>";
		<%Obj_Produtos_RS.Movenext
		loop%>
		linha += "</select>";
        linha += "</td>";
        linha += "<td width='100px'>";
        linha += "<input type='text' id='qtde"+iLoop+"' onkeyup='somar("+iLoop+");' size='3' value='1'>";
        linha += "</td>";
        linha += "<td width='100px'>";
        linha += "<input type='text' size='7' id='vUnit"+iLoop+"' readonly='readonly' value='0.00'>";
        linha += "</td>";
        linha += "<td width='100px'>";
        linha += "<input type='text' size='7' id='vCliente"+iLoop+"' readonly='readonly' value='0.00'>";
        linha += "</td>";
		linha += "<td width='100px'><input type='text' size='5' name='decapagem"+iLoop+"' id='decapagem"+iLoop+"' value='35.00' onkeyup='somar("+iLoop+")'></td>";
        linha += "<td width='100px'><input type='text' size='5' name='frete"+iLoop+"' id='frete"+iLoop+"' value='50.00' onkeyup='somar("+iLoop+")'></td>";
        linha += "<td width='100px'>";
        linha += "<input type='text' size='8' id='vTot"+iLoop+"' readonly='readonly' value='0.00'>";
        linha += "</td>";
        linha += "<td width='100px'><input type='text' size='8' id='subTotal' readonly='readonly' value='0.00'></td>";
		linha += "<td width='100px'><input type='text' size='8' id='total' readonly='readonly' value='0.00'></td>";
		linha += "<td width='80px'><input type='button' value='X' onclick='RemoverCampos("+iLoop+")'></td>";
		linha += "</tr>";
		linha += "</table>";
document.write (linha);
}

function RemoverCampos(id) {
//Criando ponteiro para hidden1:        
var hidden1 = document.getElementById("linha"+id);

//Pegar o valor do campo que será excluído:
var campoValor = document.getElementById("linha"+id).value;
        //Se o campo não tiver nenhum valor, atribuir a string: vazio:
        if (campoValor == "") {
                campoValor = "vazio";
        }

        {
                document.getElementById("linha"+id).style.display = "none"; iCount--;
                
                //Removendo o valor de hidden1:
                if (hidden1.value.indexOf(",linha"+id) != -1) {
                        hidden1.value = hidden1.value.replace(",linha"+id,"");
                }else if (hidden1.value.indexOf("linha"+id+",") == 0) {
                        hidden1.value = hidden1.value.replace("linha"+id+",","");
                }else{
                        hidden1.value = "";
                }
        }
}
AddCampos()
</script>
<input type="button" value="Adicionar campos" onClick="AddCampos()">
<input type="hidden" name="hidden2" id="hidden2">
<br><br>
<br><br>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

recupera pelo nome k ele gera o campo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xanburzin fiz oque você pediu e nao rolou.

 

Deu o seguinte erro:

 

 

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[MySQL][ODBC 5.1 Driver][mysqld-5.0.67-community-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

/tabelaeletronica/corpo_vendedores.asp, line 52

 

A linha 52 é essa aqui:

 

Set Obj_Produtos_RS = Conn.Execute("SELECT * from ju_te_produtos where codigo_produto=")%>document.getElementById("sel"+el).value

o código é esse aqui:

 

 

function carregar(el) 

{

var objItem = document.getElementById("sel"+el);
var objQtde = document.getElementById("qtde"+el);	
var objVunit = document.getElementById("vUnit"+el);
var objCliente = document.getElementById("vCliente"+el);

var codigo;
caodigo = document.getElementById("sel"+el).value


<%
Set Obj_Produtos_RS = Conn.Execute("SELECT * from ju_te_produtos where codigo_produto=")%>document.getElementById("sel"+el).value


		if (objItem.value = document.getElementById("sel"+el).value) {
			parseFloat(objCliente.value).toFixed(2);
			objCliente.value = "2630<%=Obj_Produtos_RS("Produto")%>";
			parseFloat(objVunit.value).toFixed(2);
			objVunit.value = "3690<%=Obj_Produtos_RS("Valor_Mercado")%>";
			objItem.reset();
		}
}

Voce sabe oque ocorre

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você tentar inserir / atualizar uma coluna que não permite valores NULL com NULL (por exemplo, embutir NULL na declaração, ou deixando uma coluna - que não possui um valor padrão definido - fora da lista INSERT) .

Compartilhar este post


Link para o post
Compartilhar em outros sites

erro em sua sintaxe SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script> 

var variavelServidor = <%=variavelServidor%>

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara nao ta dando certo, acho que vou ter que reconstruir em ajax puro.

pior que o prazo é quarta que vem.

 

Oque eu tenho que fazer é um sistema aonde tem por exemplo 5 campos em uma linha.

 

Aonde se eu clicar no botão incluir campos ele coloca mais 5 campos em baixo, estilo um access.

 

e nesses campos por linha tem que ao colocar valores nos campos ele somar os campos individualmente e em um campo a parte me dar a somatória de tudo.

 

O problema é que o primeiro campo é um <select> que lista os produtos do banco de dados e ao selecionar o produto me traz nos campos os valores deles.

 

Eu tenho em torno de 3000 produtos no banco. E tem que ser algo leve.

 

Pra falar a verdade estou perdidaço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

parece k existe um code,até mesmo foi duvida de outro membro e foi solucionado

e postado o code final, dá uma pesquisada no forum, AJAX é uma ótima opcaun..

você pode alterar tipo um autocomplete

Compartilhar este post


Link para o post
Compartilhar em outros sites

não tem como passar valores do client para o server sem uma requisição passando o parametro. você temque pegar esse select e colocar em outra página. montar um ajax que peque o parametro do elemento html e faça a requisição nesta nova pagina

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só me explica uma coisa que esta me intrigando jonathan.

 

Meu código tem uma parte que adicina novos registros.

 

Ele joga em arrays os ids e tal e é montado por um loop.

 

Como eu faria para ele nao se perder nos registros ali.?

 

não tem como passar valores do client para o server sem uma requisição passando o parametro. você temque pegar esse select e colocar em outra página. montar um ajax que peque o parametro do elemento html e faça a requisição nesta nova pagina

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

testa ele grava num TXT

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzun você nao entendeu.

nao vai ter gravação nesse sistema.

é uma especie de planilha excell aonde quando se preenche algo vai dar uma margem de lucro no final para mim.

a unica coisa que vai ter de consulta a banco é para pegar os valores dos produtos, nome e frete e icms, e valor de corte de material.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao ai que ta o problema.

querem que ao forem preenchendo ja vai atualizando o valor.

consegui isso usando onkeyup.

 

mas o problema é que como sao uns 3000 produtos cada um tem valores diferentes e parametros diferentes e ao selecionar um produto ele se perde porque nao esta integrando com o asp.

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.