如何使用重置按钮清除烧瓶中的特定字段或所有字段

如何解决如何使用重置按钮清除烧瓶中的特定字段或所有字段

所以,我正在尝试制作某种风冷计算器来练习python和flask。而且我让基本计算器正常工作,没有什么花哨的,但是我无法弄清楚如何重置所有字段。

就像重置按钮一样,它确实重置了id="v"id="t"字段,但不适用于id="result"字段,而且我似乎找不到任何帮助。

正在考虑添加和重置按钮的elif条件...

有没有办法将重置按钮绑定到特定字段?还是我该如何重置所有内容?

# .py file:
@app.route('/',methods=['POST','GET'])
def calc():
    if request.method == 'POST':
        if 't' in request.form and 'v' in request.form:
            t = int(request.form.get('t'))
            v = int(request.form.get('v'))
            calc = fnc.wind_chill(t,v)
            return render_template('app.html',title='Chill Calc',calc=calc)
        elif ????:
            return ????
    else:
        return render_template('app.html',title='Chill Calc')
# .html file:
<div class="container">
    <form action="/" method="POST">
        <label>Speed:</label>
        <input class="pure-u" type="number" id="v" name="speed" placeholder="Input speed here">
        <label>Temperature:</label>
        <input class="pure-u" type="number" id="t" name="temp" placeholder="Input temp here">
        <div>
            <input type="submit" value="Calculate" id="calculate_button"/>
            <input type="reset" value="Reset" id="reset_button"/>
            <div class="alert">
                Chill is:
                <input class="pure-u" type="text" id="result" value="{{ calc }}" onclick="reset"/>
            </div>
        </div>

    </form>
</div>

解决方法

如果按Reset(重置),它将被重置为默认值。 提交表单后,让我们将“ calc”的值设置为30。这样您的HTML就会像这样,

def get_metrics(loc):
    request_body = {
      "locationNames": [ loc['id'] ],"basicRequest" : {
              "metricRequests": [
                 {
                   "metric": 'ALL',"options": ['AGGREGATED_DAILY']
                 }
              ],"timeRange": {
                   "startTime": start_time_range,"endTime": end_time_range,},}
    }

    request_url = <request url> 
    report_insights_response = http.request(request_url,"POST",body=json.dumps(request_body))

    report_insights_response = report_insights_response[1]
    report_insights_response = report_insights_response.decode().replace('\\n','')
    report_insights_json = json.loads(report_insights_response)

            <bunch of logic to parse the right metrics,am not including because this runs in a separate manual script without issue>

            my_data = json.dumps(my_data)

            project_id = "project_id"
            topic_name = "location-metrics"
            topic_id = "projects/project_id/topics/location-metrics"

            publisher = pubsub_v1.PublisherClient()
            topic_path = publisher.topic_path(project_id,topic_name)

            print("publisher: ",publisher)
            print("topic_path: ",topic_path)
            try:
                publisher.publish(topic_path,data=gmb_data.encode('utf-8'))
                print("publish successful: ",loc['name'])
            except Exception as exc:
                print("topic publish failed: ",exc)

def retrieve_location(event,context):
    auth_flow()
    message_obj = event.data
    message_dcde = message_obj.decode('utf-8')
    message_json = json.loads(message_dcde)

    get_metrics(message_json) 

现在,如果将30更改为其他值,然后按reset,则它将重置为30。但是上述2个输入没有任何默认值,因此它们将重置为空。

>

我对此有解决方案。您可以通过Javascript传递calc值。

<input id="v" name="speed" placeholder="Input speed here">

<input id="t" name="time" placeholder="Input temp here">

<input id="result" ***value="30"***/>

这不会添加任何默认值。因此,您可以使用“重置按钮”。

注意: 使用输入名称代替ID。

<form>
    .....
    Chill is:
    <input class="pure-u" type="text" id="result"/>
</form>
<script>
    document.getElementById('result').value = "{{calc}}"
</script>

编辑: 如果要在服务器端使用此功能,则可以这样更改HTML,

# wrong.
if 't' in request.form and 'v' in request.form:
    t = int(request.form.get('t'))
    v = int(request.form.get('v'))

# use name instead of ID
if 'time' in request.form and 'speed' in request.form:
    t = int(request.form.get('time'))
    v = int(request.form.get('speed'))

并且python文件应该是这样的,

<form method="POST">
    Speed: <input type="number" id="v" name="v" placeholder="Input speed here"><br>
    Temparature: <input type="number" id="t" name="t" placeholder="Input temp here"><br>
    <button name='btn' value="calculate">Calculate</button>
    <button name='btn' value="reset">Reset</button><br>
    Chill: <input type="text" value="{{calc}}" id="result"/>
</form>

但这将向后端服务器发送一个附加请求。由于前端本身具有所有可用选项,所以我认为这不是使用后端重置页面的好方法。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)&gt; insert overwrite table dwd_trade_cart_add_inc &gt; select data.id, &gt; data.user_id, &gt; data.course_id, &gt; date_format(
错误1 hive (edu)&gt; insert into huanhuan values(1,&#39;haoge&#39;); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive&gt; show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 &lt;configuration&gt; &lt;property&gt; &lt;name&gt;yarn.nodemanager.res