Universal Kendo UI Mobile App

Method for initializing a phone or tablet app depending on the platform with Kendo UI Mobile

by newblt123

HTML

<link rel="stylesheet" href="http://cdn.kendostatic.com/2012.2.621/styles/kendo.mobile.all.min.css">
<script src="http://cdn.kendostatic.com/2012.2.621/js/kendo.all.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<div id="phoneApp" style="display:none;">
    <div id="forms" data-role="view">
        <form>
                <ul data-role="listview" data-style="inset">
                    <li>
                        Amount
                        <input type="number" step="0.01" name="amount-fr" />
                    </li>
                    <li>
                        Description
                        <textarea name="description-fr" ></textarea>
                    </li>
                </ul>
            <button type="submit">Submit</button>        
            <button type="submit" data-role="button">Submit (Data-role = button)</button>    
        </form>
    </div>
</div>

CSS

body, html {
 margin: 0;   
    height: 100%;
    width: 100%;
}

textarea {
    width: 300px;
    resize: none;
    float: right;
}

input {
    width: 300px !important;
    margin-right:15px;
}

JavaScript

$(function() {
    var app;

    app = new kendo.mobile.Application($("#phoneApp"), {
        layout: "phoneDefault",
        transition: 'slide'
    });
    
    //Adjust visibility of proper app container
    $("#phoneApp").show();
    
    $( "form" ).validate({
        rules: {
            "amount-fr": {
                required: true,
                min: 1
            },
			"description-fr": {
                required: true
            }
        },
        messages: {
            "amount-fr": {
                required: "amount required !",
                min: "min is 1 !"
            },
            "description-fr": {
                required: "description required !"
            }
        }
    });
    
    $( "button" ).click( function(){
        onSubmit();    
    });
});

function onSubmit(){
    alert( $( "form" ).valid());
}