2017-10-04 12 views
0

J'écris un petit script qui devrait faire les actions suivantes:Pourquoi la mise à jour de l'entrée de formulaire après le bouton ne clique pas sur [JS]?

1) un clic sur un bouton déclenche un formulaire à charger.

2) une entrée du formulaire est remplie avec une valeur spécifique.

Mon code ressemble à ceci:

document.getElementById('formButton').click(); 
window.onload = function(){ 
    document.getElementById('formEntry').value = "foo"; 
}; 

Ce script charge la forme, mais l'entrée de formulaire ne met pas à jour. Je suppose que le problème est que l'entrée de formulaire n'a pas encore chargé dans le DOM, mais onload ne semble pas faire le travail ... Des conseils sur ce que je fais mal ici?

+0

'document.getElementById ('formButton')' n'a pas été chargé. Utilisez la [console du navigateur (outils de développement)] (https://webmasters.stackexchange.com/q/8525) (appuyez sur 'F12') et lisez toutes les erreurs. – Xufox

Répondre

0

Pour ce faire, -

1) Vous devez mettre Vous devez changer le formEntry lorsque l'utilisateur clique sur formButton toutes les variables de document à l'intérieur window.onload

window.onload = function() { 
    var formEntry = document.getElementById('formEntry'); 
    var formButton = document.getElementById('formButton'); 
}; 

2), afin de mettre la .Value changer dans une autre fonction comme si

window.onload = function() { 
    var formEntry = document.getElementById('formEntry'); 
    var formButton = document.getElementById('formButton'); 

    formButton.addEventListener('click', function() { 
    formEntry.value = "foo"; 
    }); 
}; 

ou en variante

window.onload = function() { 
    document.getElementById('formButton').addEventListener('click', function() { 
    document.getElementById('formEntry').value = "foo"; 
    }); 
}; 
0

Vous devez lier le bouton clic pour un écouteur d'événement:

window.onload = function(){ 
    document.getElementById('formButton').addEventListener('click',function(){ 
    document.getElementById('formEntry').value = "foo"; 
    }); 
}; 

En appelant la fonction .click() vous déclenchez juste écouteurs d'événement de clic donné, mais vous ne l'avez pas déclaré un, et c'est aussi propably pas votre intention.