我嘗試了PhoneGap的插件Android應用在我的code.My HTML嚴格的4代碼如下的PhoneGap的PlugIn不工作
CODE:
<!DOCTYPE html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<script type="text/javascript" charset="utf-8" src="phonegap-1.0.0.js"></script>
<script type="text/javascript" charset="utf-8" src="system.js"></script>
<script type="text/javascript">
var uname;
function validate(){
//uname = document.forms[0].elements[0].value;
//var pass = document.forms[0].elements[1].value;
uname=document.getElementById("i1").value;
var pass=document.getElementById("i2").value;
alert("Uname: "+uname+"\r\nPass: "+pass);
if(!uname || uname === "" || !pass || pass === ""){
alert("User Credentials are incorrect");
}
else{
//Make a webservice call
post_data(uname,pass,postDataCB);
}
}
function postDataCB(retval){
alert("In postDataCB()\r\nuname: "+uname);
}
</script>
</head>
<body>
<form>
User name: <input type="text" id="i1" name="username" value="GEO02-OTPUAT" /><br />
Password: <input type="password" id="i2" name="pwd" value="aaa111" /><br />
<button onclick="javascript:validate()">Submit</button><br />
</form>
在我HTML,我有一個名爲uname
的全局變量。該變量用於回調函數postDataCB()
,但它未定義。 (我確實警覺並看到) 我觀察到的是當我從HTML代碼中刪除<form />
元素時,它似乎工作。
因此,任何人都可以告訴我爲什麼會發生這種情況,以及如何解決這個問題。
post_data代碼:
public PluginResult post_data(JSONArray funcargs, String jscallbackid){
SuccessCallBack=funcargs.getString(0);
FailureCallBack=funcargs.getString(1);
uname= funcargs.getString(2);
passw = funcargs.getString(3);
conn = new URL("http://www.subratlogin.com/login").openConnection();
conn.setDoOutput(true);
data += URLEncoder.encode(uname, "UTF-8") + "=" + URLEncoder.encode(passw, "UTF-8") + "&";
//remove the unwanted & at the end of the string
data = data.substring(0,data.length()-1);
ro = new OutputStreamWriter(conn.getOutputStream());
ro.write(data);
//Close the connection
ro.close();
try{
rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((line = rd.readLine()) != null)
{
sb.append(line);
}
//Close the connection
rd.close();
} catch (IOException e) {
SendJS = "javascript:" + FailureCallBack + "('" + e.getMessage() + "')";
sendJavascript(SendJS);
return null;
}
SendJS = "javascript:" + SuccessCallBack + "('" + JSONObject.quote(sb.toString());
if(jObj != null)
SendJS += "','" + jObj + "')";
else if(StringParam != null)
SendJS += "','" + StringParam + "')";
else
SendJS += "')";
sendJavascript(SendJS);
return null;
}
SRY FR問這樣的問題。
Eclipse是一個IDE。這不是標記Eclipse的Eclipse問題。 難道你不應該標記'phonegap-plugins'嗎? – nimish 2012-07-11 08:00:01
Holy cowwww !!!人們仍然使用phonegap 1.0.0:O – 2012-07-11 10:09:34
我患有類似問題請通過我的線程 http://stackoverflow.com/questions/11451155/phonegap-plugin-behaving-in-a-strange-manner – nimish 2012-07-12 11:50:21