J’ai défini la valeur du champ avec javascript, onchange non déclenché. Solution alternative?

J’ai lu quelques solutions à ce problème, mais aucune n’est simple, alors j’ai pensé qu’il existait peut-être une solution moderne pour remédier à cela. De toute façon, cela devrait être le cas, car le problème existe depuis un moment. Quelque chose dans les mises à jour jQuery les plus récentes peut-être bien?

Je règle mon champ de formulaire comme ceci:

parent.window.document.getElementById(parent.window.imageInputField).value = '{{ path }}'+image; 

et j’ai un événement onchange comme celui-ci que je voudrais déclencher lors de la mise à jour sur le terrain ci-dessus.

 $('#data_1').change(function(){ img = "url(" + $('#data_1').val() + ")" $('#slide_bg').css("backgroundImage", img ); }); 

METTRE À JOUR

donc ce code fonctionne bien:

 alert( $('#'+parent.window.imageInputField, window.parent.document).val() ); 

alors que cela ne fait rien, aucune erreur ou rien

 $('#'+parent.window.imageInputField, window.parent.document).change(); 

L’événement de changement est défini ici

 $('#data_1').change(function(){ alert('change event called'); img = "url(" + $('#data_1').val() + ")" $('#slide_bg').css("backgroundImage", img ); }); 

et cela fonctionne parfaitement:

  

Tout ce que je veux, c’est déclencher ce que fait ce bouton, mais par code … quelqu’un voit où je me suis trompé?

vous devez déclencher le gestionnaire de changement avec votre code. La mise à jour d’une valeur avec un script ne déclenchera pas l’événement change

 parent.window.document.getElementById(parent.window.imageInputField).value = '{{ path }}'+image; $('#data_1').change()