![](/img/trans.png)
[英]How can i get one button to do multiple tasks depending on how many times it has been clicked? (Javascript)
[英]How do I get a variable of the number of times a button has been clicked, store it online and then access it later?
我試圖有一個可以單擊的按鈕,然后將顯示它被單擊的次數。 我希望將該變量(稱為x)在線存儲,以便如果一個人單擊按鈕5次,然后另一個人隨后單擊它,則每個屏幕另外3次將x顯示為8。我嘗試了本地存儲,但是僅將變量存儲在瀏覽器上。 我一直在做一些研究,似乎我必須將x存儲在文件中,然后使用XMLHttpRequest訪問它。 我是Java語言的新手,不確定如何執行此操作。 有人可以用實現此目的的代碼作為響應,並說明存儲該變量將要做什么嗎?
對於Javascript方面,您可以使用jQuery使事情變得簡單一些
$(document).ready(function() { /* perform AJAX XMLHttpRequest */ $.get("/click_count.php", function(data) { /* write the response into the HTML document */ $("#click_count").text(data); }); }); function save_click() { /* perform AJAX XMLHttpRequest */ $.post("/save_click.php", function(data) { /* write the result to the HTML document */ $("#click_count").text(data); }); }
<!-- include jQuery library --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <html> <body> <button onClick="save_click();">click me!</button> Button has been clicked: <span id="click_count">0</span> times! </body> </html>
最后,您需要有兩個利用服務器端技術的文件(或一個做兩件事的文件)。
服務器端代碼的工作方式如下:
點擊次數存儲在名為click_count.data的文件中
每當有人訪問文件click_count.php時 ,它只會讀取click_count.data文件並發送其中的任何內容作為響應。
然后,還有一個名為save_click.php的文件,該文件接收click_count.data中的內容 ,然后將其增加一個,然后再發送回去。
Javascript AJAX請求使用這兩個文件將數據保存在服務器上,而不是基於每個客戶端。
對於服務器端,我選擇使用PHP
檔案: click_count.php
<?php
/* print out the contents of the file 'click_count.data' */
print_r(file_get_contents("click_count.data"));
?>
檔案: save_click.php
<?php
/* grab the current click count from click_count.data */
$click_count = intval(file_get_contents("click_count.data"));
/* increase it by 1 */
$click_count++;
/* write the new value into the file */
file_put_contents("click_count.data", $click_count);
/* print out new click count */
print_r($click_count);
?>
上一個文件: click_count.data
0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.