Ir para conteúdo
Fórum Script Brasil
  • 0

Funçao em JavaScript para manipular dados numa TextBox


Guest LEANDRO JORA

Pergunta

Guest LEANDRO JORA

Boa tarde a todos!

Estou precisando de uma ajuda para fazer uma funcao em javascript p rodar no .net 2003(asp.net)

O que eu quero fazer ira utilizar tres TextBox, sendo q uma delas ficara hidden(escondido).

A TextBox1 recebera um valor digitado pelo usuario, que ira conferir se esta presente na TextBox2(escondido), e passar para a TextBox3 que mostrara no caso deste resultado for positivo.

Isso já está quase pronto, o q estou com dificuldade é com a TextBox3.Gostaria q os novos valores fossem colocados sempre na primeira posiçao e que o primeiro que foi inserido fosse retirado quando atingir uma quantidade de 5 valores(uma especie de FIFO).

Abaixo segue um codigo q eu tentei mas não deu certo!

function handlePress1(e,strPN) {
var whichCode = (window.Event) ? e.which : e.keyCode;
var objChkValidatedPN;
var bInvalid = false, bFound = false;
var tam;
//verifica o tamanho do dado digitado
if (whichCode == 13) {
strCompareAux = trim(document.frmBOMScan.vStrPN.value);
strCompareAux = strCompareAux.toUpperCase();
tam= document.frmBOMScan.vPnSca.options.length;
//Pega os valores da TextBox escondida
for (i = 0; i < document.frmBOMScan.vPn.options.length; i++)
{
strAux = document.frmBOMScan.vPn.options[i].value;
pn_array = strAux.split(",");

//The split() method is used to split a string into an array of strings.

for (var part_num = 0; part_num < pn_array.length; part_num++)
{
// compara o valor digitado com o encontrado na TextBox escondida
if (pn_array[part_num] == strCompareAux)
{
if(tam == 0)
{
document.frmBOMScan.vPnSca.options[0] = new Option(document.frmBOMScan.vPn.options[i].text,document.frmBOMScan.vPn.options[i].value);
document.frmBOMScan.vPn.options[i] = null;
tam= document.frmBOMScan.vPnSca.options.length;
bFound = true;

}

if(tam > 1)
{
// organiza as posiçoes para fazer o FIFO
for(tam = document.frmBOMScan.vPnSca.options.length; tam == 0; tam--)
{
document.frmBOMScan.vPnSca.options[tam] = document.frmBOMScan.vPnSca.options[tam-1];
document.frmBOMScan.vPnSca.options[0] = new Option(document.frmBOMScan.vPn.options[i].text,document.frmBOMScan.vPn.options[i].value);
}

document.frmBOMScan.vPnSca.options[0] = new Option(document.frmBOMScan.vPn.options[i].text,document.frmBOMScan.vPn.options[i].value);

}
bFound = true;

}
break;
}

if (bFound) break;
}

if (! bFound)
alert("PN not found in the structure of the BOM");



document.frmBOMScan.vStrPN.value = '';
}
}

qualquer dica eu agradeço muito

Abraços

Editado por fercosmig
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Guest Leandro Jora
Textbox ou combo ? você está jogando os valores digitados num combo ?

Se possivel, coloca a parte do html tambem.

Bom dia Andreia!

é um textbox que entra com os valores

Segue um trecho do html

Grato

<TABLE class="grid1" id="tblMaster" height="100%" cellSpacing="0" cellPadding="0" width="100%"
                border="0" runat="server">
                <TR>
                    <TD colSpan="2"></TD>
                </TR>
                <TR>
                    <TD class="columnL" style="HEIGHT: 705px" vAlign="top" align="left"></TD>
                    <TD class="columnR" style="HEIGHT: 705px" vAlign="top" align="left">
                        <P><asp:label id="lblTitle" runat="server"></asp:label></P>
                        <P><asp:literal id="litQuarantine" runat="server" Visible="False"></asp:literal></P>
                        <P>
                            <TABLE id="tblScan" style="FONT-SIZE: 15px; FONT-FAMILY: Arial; HEIGHT: 400px; font-face: Arial"
                                cellSpacing="1" cellPadding="1" width="771" border="0">
                                <TR>
                                    <TD style="WIDTH: 186px; HEIGHT: 25px" vAlign="middle" align="center" bgColor="#006699"><FONT color="#ffffff" size="2"><FONT color="#ffffff" size="4"><asp:label id="lblSequence" runat="server" ForeColor="White" Font-Size="Medium"></asp:label></FONT></FONT></TD>
                                    <TD style="HEIGHT: 25px" align="right" bgColor="#eeeeee"><INPUT id="btnReset" style="BORDER-LEFT-COLOR: #3399cc; BORDER-BOTTOM-COLOR: #3399cc; WIDTH: 88px; COLOR: white; BORDER-TOP-COLOR: #3399cc; BACKGROUND-COLOR: #3399cc; BORDER-RIGHT-COLOR: #3399cc"
                                            type="button" value="Reset" name="btnReset" runat="server"></FONT></TD>
                                </TR>
                                <TR>
                                    <TD style="WIDTH: 186px; HEIGHT: 26px" align="right" bgColor="#006699"><FONT color="#ffffff" size="2">Sales 
                                            Model:</FONT></TD>
                                    <TD style="HEIGHT: 26px" bgColor="#eeeeee"> <asp:label id="lblSalesModel" runat="server" Font-Size="10pt" Font-Names="Arial"></asp:label></TD>
                                </TR>
                                <TR>
                                    <TD style="WIDTH: 186px; HEIGHT: 26px" align="right" bgColor="#006699"><FONT color="#ffffff" size="2">PN:</FONT></TD>
                                    <TD style="HEIGHT: 26px" bgColor="#eeeeee">  <textarea onkeydown="handlePress1(event)" name="vStrPN" rows="1" cols="20"></textarea>  </TD>
                                </TR>
                                <TR>
                                    <TD style="WIDTH: 186px; HEIGHT: 38px" align="right" bgColor="#006699"><FONT style="COLOR: springgreen" color="#ccffcc" size="5">Verified:</FONT></TD>
                                    <TD style="HEIGHT: 38px" bgColor="#eeeeee"> 
                                        <select id="vPnSca" style="WIDTH: 400px; HEIGHT: 355px" size="12" name="vPnSca" runat="server">
                                        </select>
                                        <select id="vPn" style="WIDTH: 1px; HEIGHT: 1px" size="10" name="vPn" runat="server">
                                        </select></TD>
                                </TR>
                            </TABLE>
                        </P>
                        <P><asp:textbox id="txtSubmit" runat="server" Height="0px" Width="0px"></asp:textbox></P>
                        <P><asp:literal id="litSalesModel" runat="server"></asp:literal><asp:literal id="litSequence" runat="server"></asp:literal><asp:literal id="litAuditType" runat="server"></asp:literal><INPUT id="hdnEsn" type="hidden" name="hdnEsn">
                            <asp:checkbox id="chkAll" runat="server" Visible="False"></asp:checkbox></P>
                    </TD>
                </TR>
                <TR>
                    <TD colSpan="2"></TD>
                </TR>
            </TABLE>

Editado por fercosmig
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

  • 0

Independente do caso, não vou olhar no código porque a solução pode ser simples.

Mais fácil te ajudar no caso específico do que entender o algoritmo agora.

Funçãozinha FIFO:

function FIFO(vetor, acao, elemento){
    if(acao) vetor.push(elemento)
    else {
     if(vetor.length)
     var i=vetor[0]
     vetor.splice(0, 1)
     return i
    }

}
v=[]
//Empilhando:
FIFO(v, 1, 5)
FIFO(v, 1, 6)
FIFO(v, 1, 7)
FIFO(v, 1, 8)

alert(v)

//Desempilhando:
alert(
    "Elemento desempilhado:" +
    FIFO(v, 0)
)



alert(v)

Se o seu problema é usar uma fila, esta função executa uma. Esse código eu fiz para que recebesse 3 parâmetros caso enfileire, e 2 caso desenfileire.

1º Parâmetro: O vetor

2º Parâmetro: A acão (1 empilha, 0 desempilha)

3º Parâmetro: Dependente do segundo, caso a ação for empilhar, deve passar um número ou elemento para o empilhamento.

Beleza?

Akeleabrassss

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...