我在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"> </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
的要求添加了更多代码