2016-09-16 91 views
0

這是我的HTML代碼在一個HTML標籤來顯示值遞增值/提交

<table > 
       <tr><td height="40" colspan="2" align=right> 
        <div class="headbox" >Order No.</div></td> 
        <td align=left> <div class="headbox" ><label id=no > </label></div> </td> 

       </tr> 

這些是JavaScript函數在標籤中顯示數字時加載窗體

function noDisplay(){ 
    var value =1 


    document.getElementById('no').innerHTML = value; 

} 

window.onload = function(){ 
    noDisplay() 
}; 

雖然我想每次加載表單時將數值增加1,但它仍然保持爲1!我該如何解決這個問題(即enter image description here在表單提交或再次加載時將值增加爲2)?

回答

1

您也可以使用localStorage變量來保存值。

function noDisplay(){ 

    var count = localStorage.getItem("count")==null?1:localStorage.getItem("count"); 
    count=Number(count)+1; 
    localStorage.setItem("count", count); 
    document.getElementById('no').innerHTML = count; 
    } 

這是更新標籤以顯示只載入窗體的次數。如果您需要訂單號,那麼您只需要從服務器傳遞訂單號。

+0

Thanx很有效,所以現在我該如何將函數生成的值傳遞給一個php變量? –

+0

對不起。我是java開發人員。但這個鏈接可能會幫助你。 http://stackoverflow.com/questions/8191124/send-javascript-variable-to-php-variable – Rajashekhar

0

您可以使用cookie。由1,否則顯示1. 一個簡單的例子閱讀來自如果存在的cookie和增量的值可以在http://www.w3schools.com/js/js_cookies.asp

找到工作示例:https://jsfiddle.net/amf3bygk/1/創建默認計數器= 0。

document.cookie = "counter=0"; 
+0

你能幫我寫下我不熟悉的代碼嗎? –

+0

@KasunSampath在實現一種揭示先前訂單號+ 1的技術之前,請考慮這一點的含義。看看我的答案。 –

1

問題是當頁面被重新加載時,變量(值)總是被初始化爲0。您需要保存變量somwhere,並在重新加載頁面時使用舊值對其進行初始化。如果你只想讓它爲一個用戶工作,你可以使用cookies(http://www.w3schools.com/js/js_cookies.asp),或者如果你想讓它爲多個並行用戶工作,你可以將它保存在文檔或數據庫中。

+0

可以ü幫我寫我不熟悉的代碼 –

1

一般來說是一個壞主意保存它的原因有很多之前暴露訂單號:

  • 什麼,如果兩個瀏覽器加載新的訂購頁面在同一時間發生?他們顯示相同的號碼?或者他們顯示兩個不同的數字?
  • 如果它們顯示相同的數字,當兩者都嘗試保存數據時會發生什麼?第二個被封鎖了一個例外,或者第二個被保存了一個不同的數字?
  • 如果它們顯示不同的數字,那麼當第一個瀏覽器沒有保存數據時會發生什麼?你的訂單號碼有漏洞嗎?
  • 如果他們保存數據,但首先是第二個瀏覽器,然後是第一個瀏覽器呢?您有一個反映廣告訂單的訂單號。

由於這些原因,最好不要在訂單號上公開任何內容,並且只在數據真正保存在數據庫中時才返回數字。相反,如果您處於更新表單中,則可以輕鬆公開已保存在數據庫中的數據。

+0

Thanx的建議 –

+0

如何從數據庫中檢索? –