web-dev-qa-db-fra.com

Cliquez sur le bouton et sélectionnez le menu par programme

Cette question est basée sur la question précédente ici où j'ai réussi à renseigner le nom d'utilisateur de l'opener/source vers la fenêtre de destination, à l'aide du code suivant dans la fenêtre de destination à l'aide de postMessage. Le code côté destination est:

window.onload = function(){ 
    window.opener.postMessage('giveMeUsername', '*'); 
};

/**
 * Event to catch opener messages
 */

window.addEventListener('message', function(event) {
    if(event.Origin !== 'http://example.com') return;
    var message = event.data;
    jQuery('input#username').val(message);
}, false);

Maintenant, il y a deux exigences que je dois faire comme suit:

cliquez sur le bouton par programme

Je dois déclencher l'événement click du bouton de connexion une fois la fenêtre chargée si le champ du mot de passe n'est pas vide. J'ai essayé d'ajouter cette ligne à mon code

document.getElementById('loginbtn').click();

Mais rien ne s'est passé. En fait, je ne suis pas sûr que le bouton ait un identifiant ou un nom, car lorsque je vérifie l'élément, je trouve cette ligne <button type="submit" style="float:right" class="button loginbtn""><?php echo JText::_('JLOGIN'); ?></button>

La question est donc la suivante: comment déclencher ce bouton lors du chargement de la fenêtre à la fin du script ci-dessus?

Sélectionnez la langue par programme

Je concatène le code de langue utilisé dans le source sous la forme "var msg = nom d'utilisateur + '-' + LangCode '

Du côté de la destination, je peux extraire le code de langue, mais je ne comprenais pas comment l’utiliser pour changer la valeur de la langue dans la liste (supposons que le code soit a, la langue sélectionnée devrait alors être English ... etc).

1
Hawk

Vous utilisez getelementbyId, mais aucun identifiant n'est défini. Utilisez plutôt:

GetElementByClass

1
tonypartridge