jquery-archive / jquery-mobile

jQuery Mobile Framework
https://jquerymobile.com
Other
9.7k stars 2.41k forks source link

Search Entry with Swype Keyboard on Droid X #637

Closed Goudnet closed 12 years ago

Goudnet commented 13 years ago

When using the Swype Keyboard on the Droid X phone, I am unable to make entries into a Search Entry form element. I don't know if this is a limitation of Swype, the Droid X, or a problem with jQuerymobile.

Example page: http://ruskin.co/folders/9

ahsquared commented 13 years ago

I am having a similar problem on Samsung Galaxy S. I cannot enter text into an input using the swype keyboard on a page with jquery mobile.

If I switch to the standard keyboard I can enter text, or if I turn off jquery mobile I can use either. This goes for the jquery demo site as well as my own.

This seems to be directly related to the word prediction feature of swype. If I turn off word prediction, text input works properly.

Andre

Edit: I should add that this is within the phoneGap framework, and I am running Android 2.2.

eddiemonge commented 13 years ago

On Evo, Android 2.2, the first word works but every word after that does not, only spaces are inserted. I have Swype set to insert a space before every word so the space gets added but not the word.

toddparker commented 13 years ago

I really don't know whether this is something we can address. If you all can track down something specific we're doing in JQM that is interfering, we can see if we can adjust the code but this could be a higher-level issue with Swype and the OS.

eddiemonge commented 13 years ago

I'll look into it some more and see if I can come up with something at some point

new-digital-partnership commented 12 years ago

anyone had any luck fixing this?

allows me to type characters, but does not allow words.
also when you press and hold to delete whole words, nothing happens.

toreym commented 12 years ago

I have also seen this problem when word prediction is on. ahsquared do you have any other events bound to the input such as a blur event or something like that? I can also see that when you have word prediction on and you select the letters in single letter increments it also works (sort of).

Any ideas yet?

toreym commented 12 years ago

Something I just uncovered is that if the page is inside of a div which has the class ui-mobile-viewport this happens. However if the pages are directly inside of the body and therefore ui-mobile-viewport is on the body things seem to work ok. I haven't looked into the css to see why this is actually causing a problem though. Does anyone have an idea why this would happen?

If you are having this problem you should be able to get around it by putting the page directly in the body rather than another div (or similar block element). But my guess is the proper fix is somewhere in css.

toreym commented 12 years ago

ok. sorry to keep posting as I find our more. But I think I found the css fix required. It has to do with overflow-x being set to hidden in the ui-mobile-viewport class. When it is on the body I dont think it has any effect (in the browsers I am looking at). But when it is on a block element it is really messing with swype for some reason. I was able to override it by setting overflow-x to visible on my block level element which contained my input and it fixed the problem.

localpcguy commented 12 years ago

I can confirm this issue, and have a fairly small test case (behind a firewall at the moment though, will look in abstracting it and making it public.) I do think it is something that is library specific, because I don't have any issue with Swype and normal text input fields, only when JQM is introduced is there an issue. If I can find a fix for JQM that allows Swype to work properly, I'll submit a fix for it.

pauldaly commented 12 years ago

Swype Droid Jquery Mobile data-role= page

I am having the same or similar issue with Swype not working on my droid. I have narrowed my issue to the data-role="page" element. Any field within this element affects Swype. Removing data-role="page" allows swype to function as expected.

This is not just an issue with data-role page since the test page at http://jsbin.com/aciteb/4 works fine. I'll try and narrow down the issue.

vrspider commented 12 years ago

put overflow-x : visible seems work for me.

toddparker commented 12 years ago

Good tip @vfspider. Android seems to get very cranky if overflow-x: is hidden. We've made changes before 1.0 to attempted to scope things differently to avoid issues with this rule but if you're still seeing it, we can take a look.

toddparker commented 12 years ago

Hi all - Is this still an issue with 1.0.1? ALso please test on master: jquerymobile.com/test

jacob commented 12 years ago

I am working with jquery mobile 1.0.1 and I am definitely hitting this issue on android. Words input via swype appear as only an empty space.

jacob commented 12 years ago

to clarify, it is an issue unless you add the following override as suggested above:

div.ui-mobile-viewport { overflow-x: visible; }

Wilto commented 12 years ago

I’m gonna close this out as a duplicate of #3088. It looks like this happens with the XT9 keyboard, as well—maybe any alternate keyboard. Under investigation as we speak.