我有一個全局變量,稱爲'名稱',當用戶點擊一個按鈕的文本框內容被查詢和'名稱'設置爲內容然後名稱打印在一個不同的jquery頁面。變量設置不通過表單元素
我的問題是名稱永遠不會打印爲其設置的名稱,而是始終打印爲最初設置的名稱。
這是我的回調函數:
<script type="text/javascript">
$("#finalize").click(function(e)
{
g_name = "BLAH";
return true;
});
</script>
爲了簡單起見,我設置的名稱只是在點擊「BLAH」。
g_name是全局聲明的(即在函數範圍之外)。
在其他的jQuery的網頁我有:
document.write('<label for="testname">Name:</label>');
document.write('<input type="text" name="testname" id="testname" value="');
document.write(g_name)
document.write('"/>');
而且g_name始終顯示爲別的東西,不管g_name最初initilized來。
的按鈕,其點擊回調設置了全局變量也轉變了頁,如果有差別......
編輯:
好,我想通了,什麼是錯的,全局變量是被在設定之前寫下來。現在,我想這樣做:
<script type="text/javascript">
$('#confirmscreen').bind('pageshow',function()
{
document.write('<label for="testname">Name:</label>');
document.write('<input type="text" name="testname" id="testname" value="');
document.write(g_name);
document.write('"/>');
document.write(g_phonenumber);
});
</script>
但是jQuery的似乎並不喜歡使用的「pageshow」事件文件撰寫,是有辦法,我可以使這項工作,也就是說,寫出g_name當頁面顯示,而不是網站加載時?
喲 - 你應該考慮knockoutjs。它是一個用js編寫的可觀察的數據綁定系統。 –
在哪個瀏覽器中試用?你有沒有檢查你是否得到任何JavaScript錯誤? – AmGates