Переменная Javascript не обновляется в приложении Phonegap - PullRequest
0 голосов
/ 17 июля 2011

Я только что написал свое первое приложение в phonegap, которое просто заменяет текстовую строку на экране каждый раз, когда вы активируете ссылку.

Исходная строка остается на месте, а новая строка записывается поверх.Если вы снова активируете ссылку, вторая строка будет заменена новой, но все еще поверх первой строки.

Я попытался очистить переменную, чтобы исправить это, но безуспешно.

Это ограничение платформы или я что-то не так делаю?

Код ниже

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body onload="newIdea()">
<h1 class="h1">First Love</h1>
<p>Have you ever? </p>
<h3><div id="ideaDiv">Nothing</div></h3>
<a href="#" id="ideaLink">Let's Do it</a>
<a href="#" onclick="newIdea();">No Thanks</a>
<script type="text/javascript">
var ideas=new Array(); // regular array (add an optional integer
ideas[0]="Kissed someone in the rain";       // argument to control array's size)
ideas[1]="Eaten peking duck";
ideas[2]="Stood naked in the open";

function newIdea(){
var idea = "";
var idea = ideas[Math.floor(Math.random()*ideas.length)];
var ideaSpace = document.getElementById("ideaDiv");
ideaSpace.innerHTML=idea;
var ideaLink=document.getElementById("ideaLink");
var linkCreate="http://www.google.com/calendar/event?action=TEMPLATE&text=" + idea + "&dates=20120101/20120102&details=&location=&trp=false&sprop=&sprop=name:";
ideaLink.href=linkCreate;

}
</script>
</body>
</html>

Спасибо

Симон

1 Ответ

0 голосов
/ 17 июля 2011

У меня нет опыта работы с phonegap, но в прошлом я обнаружил некоторые проблемы при попытке установить innerHTML в документах xhtml, он не проверяет, вызывает ли используемая вами строка документ по-прежнему действительный xml, и просто выдает ошибка, для достижения того же эффекта попробуйте:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body onload="newIdea()">
<h1 class="h1">First Love</h1>
<p>Have you ever? </p>
<h3><div id="ideaDiv">Nothing</div></h3>
<a href="#" id="ideaLink">Let's Do it</a>
<a href="#" onclick="newIdea();">No Thanks</a>
<script type="text/javascript">
var ideas=new Array(); // regular array (add an optional integer
ideas[0]="Kissed someone in the rain";       // argument to control array's size)
ideas[1]="Eaten peking duck";
ideas[2]="Stood naked in the open";

function newIdea(){
var idea = "";
var idea = ideas[Math.floor(Math.random()*ideas.length)];
var ideaSpace = document.getElementById("ideaDiv");
//ideaSpace.innerHTML=idea;
ideaSpace.removeChild(ideaSpace.firstChild);
ideaSpace.appendChild(document.createTextNode(idea));
var ideaLink=document.getElementById("ideaLink");
var linkCreate="http://www.google.com/calendar/event?action=TEMPLATE&text=" + idea + "&dates=20120101/20120102&details=&location=&trp=false&sprop=&sprop=name:";
ideaLink.href=linkCreate;

}
</script>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...