-
Notifications
You must be signed in to change notification settings - Fork 27.5k
textarea ng-model is not updated in IE with Korean IME. #6656
Comments
Can you please post a plnkr (http://plnkr.co) with a reproduction? And which version of IE is affected? |
I think this is a duplicate of #6058. What version of Angular are you using, @tourscrap? 2b73027 should have fixed this. |
If this is still a problem in the latest |
I am using angular 1.2.4. I tested IE 11,10,9. |
1.2.14 is the latest. Please update and try with that. |
@btford Oh, I'm sorry. My mistake. using 1.2.14 |
How it's going? I got a same issue with IE 11. but Chrome works fine. |
I'm actually wondering how it's going? |
Hello, I am web developer in Korea and I have noticed the same issue. Important fact: I made a keyup function via jQuery, it works well! I have recorded a video to show the issue on IE11 (Korean version): https://www.screenr.com/XGcN Plunker: http://plnkr.co/edit/WaZvP4ivhIaPxYRmKjeF?p=preview |
There is big issue in IE11, Using the jQuery it works fine like @sylvhama but, it's hard to always using jQuery in such as ngRepeat. |
I think that the code for composition mode has many problem with IME.
|
I tested IE11 and Chrome with IME I think there is some problem 'compositonend' with IME in IE11 So. It work's fine if disabled below code that @tourscrap said Let me show tested video. I added code to show console like this. if (!$sniffer.android) {
} var listener = function (ev) { |
noticed that I get ng-change events when typing with the MS Korean IME w/ IE11, but the model isn't updated. If I introduce a Latin character by toggling the character set in the IME the model gets updated with all the text (Korean and all), and if I use common characters such as space or numerical digits, or hit the delete key, it also updated the model. Tested with angular 1.3.14. |
Looking at it more, my results agree with @iDevSK . On IE 11 with Hangul input, Composition start and update events are fired while typing Korean, but Composition end is not fired until some other type of input occurs (enter, tab, space, etc, basically anything non-hangul). I thought this was an IE11 bug but after reading the spec on compositionend I'm not so sure. I think its valid that compositionend only gets fired when the IME is dismissed. If someone with a better understanding of the spec and browser quirks can take a look at this maybe we can come up with a solution. |
FWIW this workaround seems to work for me. I add a top-level decoration on the input directive that creates fake compositionend events: .config(function ($provide) {
$provide.decorator('inputDirective', function($delegate, $log) {
$log.debug('Hijacking input directive');
var directive = $delegate[0];
angular.extend(directive.link, {
post: function(scope, element, attr, ctrls) {
element.on('compositionupdate', function (event) {
$log.debug('Composition update, faking end');
element.triggerHandler('compositionend');
})
}
});
return $delegate;
}); This is probably wrong somehow and not robust or anything, but is maybe a first step towards a more solid workaround until it can be fixed/worked-aroudn in core angularjs. Here's a fork of @sylvhama 's plunkr with this added: http://plnkr.co/edit/4TY55ozh1D62sBDeUQxk?p=preview |
I have tested this (to my ability) in Chrome, IE Edge, and IE11. |
@azack Hi, thank you for your solution! It seems to work fine for input boxes in IE. However, this solution does not seem to work in textarea tags. Does anyone have any idea on this? Thanks in advance. |
@prksean sorry I don't |
Hi, I'm having same issue on 1.2.32. It doesn't fixed. is that right? |
It's not fixed unfortunately. If it gets fixed, it'll not happen in the
1.2.x branch because that one is in security fix only mode.
Am Do., 12. Okt. 2017 11:07 schrieb Jae Ik, Lee <notifications@github.com>:
… Hi, I'm having same issue on 1.2.32.
Does it fixed yet right?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#6656 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABGYSWpjk-8E60QounsGCPLlzA8B2ZXFks5srdbCgaJpZM4Bo3xI>
.
|
if I type the english, it is ok.
but if I try to type korean, I can't get text value from ng-model.
I think that compositionend event does not fired by IE
The text was updated successfully, but these errors were encountered: