Phonegap / Jquery Button Back

时间:2014-03-18 14:53:37

标签: javascript android jquery cordova

我在Android上使用PhoneGap 1.9。我的index.html页面有2个div,名为page1和page 2。

第1页包含一些输入和一个CALC按钮。第2页包含纯文本结果和后退和重置按钮

页面之间的流程,后退动作和结果一见钟情。 我的问题是在按下后退按钮后,我更改hight1输入框上的值并按下CALC按钮。但结果是旧的价值出于一些奇怪的原因......任何想法?对于我应该改变的recalc或历史有什么参数吗?

这就是我所拥有的:

的index.html

<div id="Page1">
    <input type="range" name="slider-1" id="hight1" value="0" min="0" max="800"/>m
    <div data-role="button" onclick="calcResults();">
        Calc
    </div>
</div>
<div id="Page2">
    <strong id="hight2">&nbsp;</strong>
    <a href="index.html" data-role="button" data-rel="back" data-theme="b" onclick="resetApp();">Reset</a>
    <a href="index.html" data-role="button" data-rel="back" data-theme="c">Go Back</a>
</div>

index.js

function calcSimpleResultActionHandler (result) {
    var obj = JSON.parse(JSON.stringify(result));
    $('#hight2').html(obj.hight1);
    $.mobile.changePage("#Page2");
}
function calcResults() {
    var sentData = new Array();
    var calcResultActionHandler;
    calcResultActionHandler = calcSimpleResultActionHandler;
    sentData[0] = $( "#hight1" ).val();
    HandleActionsPlugin.calc( calcResultActionHandler, actionErrorHandler, sentData);   
}
function resetapp() {
    $('#hight1').val('0');
}
var HandleActionsPlugin = { 
        saveStep1: function (success, fail, resultType) { 
            return cordova.exec( success, fail, 
                    "HandlePhoneActions", 
                    "calc", resultType); 
};
function actionErrorHandler (error) { 

    $('#responseData').css('color', 'red');
    $('#responseData').html("Dammit:\r\n "+error+"");
    $("#actionResponsePopup").popup( "open" );
}

}

HandlePhoneActions.java

private static final String CALC= "calc"; 
@Override
public PluginResult execute(String action, JSONArray args, String callbackId) {
        if (CALC.equals(action)) {
            structure.sethight1(args.getString(0));
        }
        JSONObject resObj  = new JSONObject();
        resObj.put("hight1", structure.gethight1());
        return new PluginResult(PluginResult.Status.OK, resObj);
}

更新:第二个ID拼写错误,谢谢奥马尔指出

更新:根据Ani

的要求添加了更多代码

0 个答案:

没有答案