You can use a multimedia query to display a button in a line with text input to increase the width of the screen and show a text box above the send button for a smaller screen width:
form .ui-input-text { display : inline-block; width : 65%; vertical-align : middle; } form > .ui-btn { display : inline-block; width : 25%; vertical-align : middle; } @media all and (max-width:480px) { form .ui-input-text { width : 100%; } form > .ui-btn { width : 100%; } }
Here is a demo: http://jsfiddle.net/fmJGR/
I use the classes added by jQuery Mobile to target elements, which is especially useful for working with the submit button, because the HTML structure after initializing jQuery Mobile is not like an initialized element.
This is what the HTML submit button is after jQuery Mobile initializes it:
<div data-theme="c" class="ui-btn ui-btn-icon-left ui-btn-corner-all ui-shadow ui-btn-up-c" aria-disabled="false"> <span class="ui-btn-inner ui-btn-corner-all" aria-hidden="true"> <span class="ui-btn-text">Add</span> <span class="ui-icon ui-icon-plus ui-icon-shadow"></span> </span> <input type="submit" value="Add" data-icon="plus" data-type="button" class="ui-btn-hidden" aria-disabled="false"> </div>
If you want to support IE7, you will need to add the following code because IE7 does not understand display : inline-block
:
form .ui-input-text { display : inline-block; width : 65%; vertical-align : middle; *display : inline; zoom : 1; } form > .ui-btn { display : inline-block; width : 25%; vertical-align : middle; *display : inline; zoom : 1; }
Jasper
source share