【问题标题】:python bottle handle single and multiple onclick button operationpython单个和多个onclick按钮操作
【发布时间】:2021-12-30 22:31:21
【问题描述】:

如果第一次点击按钮,我如何触发操作,但如果再次点击做额外的事情。

if request.method == 'POST':   # if i press a button on the client side, (obj_list) return something like this [0.3, 2.32, 1.22] passed here through ajax (no problem here)
    x = 1
    obj_db = []
    for obj_items in obj_list:     
         should_sum  = False
         while not should_sum:
             x *= obj_items
             #return only two decimal numbers after float number  
             new_obj_num  = round(obj_total, 2)
             obj_db.append(new_obj_num)
             print('stored value  : ', obj_db)
            if object_selected:
              obj_db += obj_items
            else:
              should_sum = True

现在,当我单击一个按钮时,我需要将 obj_list 数据相乘,并将结果存储在 obj_db 中(我已经完成了)。 但是当我再次点击(从客户端)时,我需要与之前存储的结果相乘但相加。有什么建议吗??!

【问题讨论】:

  • 嗨!你能分享更多的代码吗?现在,我看到的是您的 js 文件正在执行发布请求,但在您的 python 文件中,您试图读取表单,但不知道如何在请求中加载表单参数,很难知道出了什么问题。跨度>
  • @Gabo 刚刚分享了代码,通过post请求获取数据没有问题。我现在更新了问题
  • 您需要在响应浏览器请求之前将计数器值保存在某处。如果用户以某种方式被识别,您可以将其保存在数据库中。如果您使用类视图,您可以将其保存在类属性中,但不建议这样做,因为它会在重置服务器后重置。或者您可以在答案中返回计数器值,以便浏览器在下次单击时将其重新发送给您。
  • @Gabo你有代码示例吗,这里的问题不是计数器,如果按钮被点击两次需要相乘,并与之前返回的数据相加
  • 好的。那么你需要存储之前返回的数据。如果它是一个小项目并且只针对一个用户,请尝试使用一个文件来存储以前的数据,以便在下次使用时获取它

标签: javascript python django flask bottle


【解决方案1】:

正如我们在 cmets 中所说,您需要保存您的计数器以了解有人点击了多少次。

# try to read the counter stored in a file 
try:
    f = open("counter.txt", "r")
    data_returned_as_str = f.read()
    counter = int(data_returned_as_str)
except FileNotFoundError as e:
     counter = 0 

# do your stuff

counter += 1
f = open("counter.txt", "w") # use write to overwrite the last content
f.write(str(counter))
f.close()

print(counter)

如果您还需要以前的数据,请写入另一个文件来读取。

【讨论】:

  • 我已尝试重构您的答案以满足我的需要,但没有。主要问题是当按钮被按下一次,第二次,第三次......
  • 请详细描述正在发生的事情,以便我为您提供帮助。编辑您的答案,以在需要时用伪代码描述您尝试执行的操作。
猜你喜欢
  • 1970-01-01
  • 2019-06-13
  • 2019-05-13
  • 1970-01-01
  • 1970-01-01
  • 2012-03-26
  • 1970-01-01
  • 1970-01-01
  • 2015-09-01
相关资源
最近更新 更多