Ir para conteúdo

Arquivado

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

Zoação

Por que ao juntar ... não funciona?

Recommended Posts

Quanto tento juntar 2 códigos JS em uma página PHP, o ocorre é que apenas o segundo código é executado. O primeiro código, simplesmente é ignorado, não sei por qual motivo.

 

Agora, se eu tento usar "separados" (mantendo apenas um na página) ele funciona perfeitamente.

 

Veja o esquema:

 

// script 01
// script 02

Apenas o "script 02" é executado

// script 02
// script 01

Apenas o "script 01" é executado

 

O que pode estar errado?

(veja uma síntese dos mesmos)

 

 

script 01

<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( 'produto1' ).onchange = function()
    {
        label_option( this, id('produtoitem1') );

// ... continua o código

</script>

 

script 02

    <script type="text/javascript">
  window.onload = function(){
 
    var i = function(id){ return document.getElementById(id); }
     
    i("calcula").onclick = function(){
      var c1 = i("produto1").value;

/ ... continua o código

</script>

 

O que pode estar errado?

Como corrigir isto?

 

Obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq vc não pode duplicar a chamada a window.onload, pq vc está sobrescrevendo direto na propriedade do objeto.

 

vc tem q somar, assim:

<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( 'produto1' ).onchange = function()
    {
        label_option( this, id('produtoitem1') );

// ... continua o código


 var i = function(id){ return document.getElementById(id); }
     
    i("calcula").onclick = function(){
      var c1 = i("produto1").value;

// ... continua o código



} //fecha window.onload
</script>
entendeu ?

 

 

outra forma de melhorar isso, é usar addEventListener

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.