11
votes

Utilisez ONCHANGE dans un div

est-il possible d'utiliser onchange événement dans un

?

parce que mon

modifie son texte.

Puis-je faire quelque chose comme ça? xxx


7 commentaires

L'utilisateur change-t-il le texte ou le faites-vous par programme?


alors ça ne change pas, il est initialisé


@Rafael Santos: Lorsque PHP le met à jour, le faites-vous via AJAX ou via une nouvelle demande de page?


Il ne peut pas être changé avec PHP, il est changé par JavaScript (PHP -> AJAX -> JavaScript) ou prévenue par PHP.


Spécification dit: L'événement OnChange se produit lorsqu'un contrôle perd L'accent et sa valeur ont été modifiés depuis la mise au point. Cet attribut s'applique aux éléments suivants: entrée, sélectionner et textarea. Donc, ce n'est pas possible comme ça. Suggestion: lorsque vous modifiez le contenu, comparez la nouvelle valeur contre l'ancien et effectuez l'action.


Merci tout le monde, mais comment puis-je faire ça?


@Rafael Santos: Eh bien, au cas où vous le feriez avec Ajax - vous devez déclencher votre événement de changement manuellement dans la fonction de rappel Ajax. Quel cadre utilisez-vous pour Ajax? Et pourriez-vous coller votre code Ajax et mettre à jour votre question avec de nouvelles informations?


6 Réponses :


22
votes

non; L'attribut onchange est uniquement applicable aux éléments de champ de formulaire ( entrée , Sélectionnez , textarea , etc < / em>).


3 commentaires

Merci pour votre réponse.Comment fais-je le faire?


Lien vers la documentation liée à cela?


À présent, l'élément HTML Keygen est également pris en charge. Voici le lien vers la documentation: consultez «Détails techniques», consultez ici W3sSchools. com / tags / ev_onchange.asp



4
votes

Puisque vous dites que vous utilisez Ajax, pourquoi ne pas exécuter la fonction lorsque vous mettez à jour le texte. Je ne sais pas si vous utilisez une bibliothèque, mais dans la case JQuery, faites simplement:

 $.ajax({ ...,
          success: function() {
               ... other things ...
               ... setting div text ...
               calculateTotal();
          }
       });


2 commentaires

J'utilise CakePHP et JQuery.


@Rafael Santos: Cela devrait alors faire le travail. Tout ce qui se passe sur le côté PHP, PHP fournit simplement les données appropriées qui sont hors de portée de votre problème.



1
votes

Onchange est appelé lorsque l'utilisateur a changé la valeur d'entrée. La réponse est donc oui, mais cela n'aura aucun effet. Je suppose que vous modifiez le contenu programmatiquement, alors ajoutez un code simple qui appellera cette fonction


1 commentaires

Quelle est la valeur d'entrée d'un div?



4
votes

Comme vous changez le texte vous-même, appelez simplement CalculateTotal lorsque l'appel AJAX se termine et que le texte a été placé dans l'élément.

Exemple (en utilisant jQuery): < Pré> xxx


0 commentaires

0
votes

Vous pouvez utiliser l'événement surblur. Événement surblur travaillant sur table, div, etc. xxx


0 commentaires

0
votes

C'est un peu sur la plupart des webDesigners Paygrade, mais ce n'est pas un problème sur moniteur Dom un DIV. C'est aussi pur HTML, rien requis.

Le moyen le plus facile de le montrer est avec un exemple. Le DIV est éditable alors klick sur elle et tapez quelque chose et votre console JavaScript montrera ce qui se passe. (Si vous ne connaissez pas votre chemin autour du débogueur JavaScript, cela pourrait être difficile pour vous, alors apprenez-le simplement;)) xxx


0 commentaires