Ir para conteúdo

POWERED BY:

Arquivado

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

Zoação

O que esta errado aqui? Não exibe...

Recommended Posts

Estou tentando exibir o label do item selecionado no dropdown no campo ao lado direito, chamado "labeltest", mas o mesmo esta dando erro...

 

<html>
<head>
<script type="text/javascript">
function label_option( el )
{
        var labeltest = el.options[ el.selectedIndex ].text;
        id( labeltest );
}
window.onload = function()
{
        document.getElementById( 'teste' ).onchange = function()
        {
                label_option( this );
        }
}
</script>
</head>
<body>
        <form action="" method="post">
        <label>Teste: <select name="teste" id="teste">
                        <option value="">--</option>
                        <option value="1">Um</option>
                        <option value="2">Dois</option>
                        <option value="3">Tres</option>
                </select></label>
                
<input type="text" name="labeltest" id="labeltest" readonly="readonly" />                
                
        </form>
</body>
</html>

 

Obrigado

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script type="text/javascript">

function id(el){

return document.getElementById(el);

}

function label_option( el )

{

id('labeltest').value = el.options[ el.selectedIndex ].text;

}

window.onload = function()

{

id( 'teste' ).onchange = function()

{

label_option( this );

}

}

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito, é isto que preciso, porém agora esta ocorrendo o seguinte: ao tentar inserir o mesmo em meu projeto, este não funciona ... seria porque?

Veja o que realizei...

<script type="text/javascript">
function id(el){
    return document.getElementById(el);
}
function label_option( el )
{
    id('produtoitem1').value = el.options[ el.selectedIndex ].text;
}
window.onload = function()
{
    id( 'produto1' ).onchange = function()
    {
        label_option( this );
    }
}
</script>
Apenas alterei o nome dos campos (como pode observar acima) para que o mesmo "pegue" a informação através do campo dropdown que possuo e então "escreva" no campo logo à frente.

 

(testei no google chrome)

 

obs.:

 

Lembrando que escrevi o script logo abaixo de outro script... teria algum problema??

 

--

 

Outro caso seria que ao tentar duplicar esta função JS, a mesma não retornou conforme preciso.

 

Veja só como alterei...

 

<script type="text/javascript">
function id(el){
    return document.getElementById(el);
}
function label_option( el )
{
    id('labeltest').value = el.options[ el.selectedIndex ].text;
}
window.onload = function()
{
    id( 'teste' ).onchange = function()
    {
        label_option( this );
    }
}
function id(el){
    return document.getElementById(el);
}
function label_option( el )
{
    id('labeltest0').value = el.options[ el.selectedIndex ].text;
}
window.onload = function()
{
    id( 'teste0' ).onchange = function()
    {
        label_option( this );
    }
}
function id(el){
    return document.getElementById(el);
}
function label_option( el )
{
    id('labeltest1').value = el.options[ el.selectedIndex ].text;
}
window.onload = function()
{
    id( 'teste1' ).onchange = function()
    {
        label_option( this );
    }
}

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Caro William,

 

Usei dois navegadores para tentar depurar os erros ...

 

Internet Explorer 9.x
Pressionando "F12"

 

e também o

 

Google Chrome
Utilizando "ctrl" + "shift" + "j"

 

Mas não consegui encontrar o erro.

 

O que então preciso fazer para que funcione mais de um script em uma página?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc precisa estudar js básico. Segue exemplo para vc entender.

<html>
<head>
<script type="text/javascript">
function id(el)
{
    return document.getElementById(el);
}
function label_option( $select, $label )
{
    $label.value = $select.options[ $select.selectedIndex ].text;
}
window.onload = function()
{
    id( 'teste' ).onchange = function()
    {
        label_option( this, id('labeltest') );
    }
    id( 'teste2' ).onchange = function()
    {
        label_option( this, id('labeltest2') );
    }
}
</script>
</head>
<body>
    <form action="" method="post">
        <label>Teste:
            <select name="teste" id="teste">
                <option value="">--</option>
                <option value="1">Um</option>
                <option value="2">Dois</option>
                <option value="3">Tres</option>
            </select>
        </label>
        <input type="text" name="labeltest" id="labeltest" readonly="readonly" />


        <label>Teste:
            <select name="teste" id="teste2">
                <option value="">--</option>
                <option value="1">Um</option>
                <option value="2">Dois</option>
                <option value="3">Tres</option>
            </select>
        </label>
        <input type="text" name="labeltest2" id="labeltest2" readonly="readonly" />


    </form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Perfeito. Terminei finalmente de adaptar a meu projeto...

 

Agora, estou tendo um problema que deve até ser simples, mas não estou tendo sucesso, veja:

 

Tenho mais de um script JS ... no caso vamos exemplificar o seguinte:

 

<script type="text/javascript">
// este script
</script>

<script type="text/javascript">
// outro script
</script>

Então, o que ocorre:

 

Se mantenho este JS mencionado neste post, ele funciona perfeitamente. Porém se eu adiciono como informado acima, tudo "para", ou seja, nenhum dos scripts funcionam mais... ou seja, eles só estão funcionando se estiverem "sozinhos na página".

 

Por isso queria saber como preciso fazer para que eles funcionem perfeitamente sem "um afetar o outro".

 

 

Obrigado

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

depende doq tem dentro deles.

 

poste o código real. Mas em outro tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

depende doq tem dentro deles.

 

poste o código real. Mas em outro tópico.

Um é para "pegar" os label de todos dropdown da página em tempo real e outro é para realizar o cálculo de determinados campos, inclusive dos dropdown.

 

depende doq tem dentro deles.

 

poste o código real. Mas em outro tópico.

 

 

 

http://forum.imasters.com.br/topic/506800-por-que-ao-juntar-no-funciona/

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.