首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Brython代码用于多个计算

将Brython代码用于多个计算
EN

Stack Overflow用户
提问于 2018-05-23 02:20:08
回答 1查看 101关注 0票数 0

我正在尝试在一个在线课程中使用Brython。为了测试它,我创建了一个简单的单位转换练习,学生填入以每小时为单位的速度,然后返回以英尺/秒为单位的速度。效果很好。但我发现我添加的任何第二次计算都被忽略了。一些东西需要被清零,或者刷新,或者重置,或者别的什么!任何建议都将不胜感激。这个简单练习的代码如下(我还没有加载MathJax,所以$符号)

...您将看到第一个函数运行良好,第二个函数运行良好,而除了更改函数名称和所有变量外,其他都是相同的,只是被忽略了。

谢谢!

代码语言:javascript
复制
<HTML>
<HEAD>
<META charset="utf-8">
<script type="text/javascript"
    src="https://cdn.rawgit.com/brython-dev/brython/3.3.5/www/src/brython.js">
</script>
<script type="text/javascript"
    src="https://cdn.rawgit.com/brython-    dev/brython/3.3.5/www/src/brython_stdlib.js">
</script>
</HEAD>
<BODY bgcolor="white" onload="brython(1)">
代码语言:javascript
复制
<H1>test</H1>
<!-- silly test example anticipating multiple unit conversions in a row: -->
<!-- This will work if I remove the previous script and form...but won't if it follows -->

<SCRIPT type ="text/python"> 
import math 
from browser import document

@document["vmph"].bind("change") 
def gcal(xx): 
    # get the first element with tag "form" in the document
    fh = document.select("form")[0] 
    vvmph = float(fh.vmph.value) 
    vvftps = vvmph*1.4666700004 
    fh.vftps.value = vvftps 
</SCRIPT>


<FORM method="" action=""> 
    <p class="ex1">For $v$ mph = <INPUT Type="text" Name="vmph" id="vmph"     Value="" Size="10" autocomplete="off"> $\;\;$mph<br> 
    we get that $v$ ft per second = <INPUT Type="text" Name="vftps" Value=""     Size="10">. 
    </p> 

</FORM>


<SCRIPT type ="text/python">            
import math 
from browser import document

@document["vmph2"].bind("change") 
def gcal2(xxx): 
    # get the first element with tag "form" in the document
    fh2 = document.select("form")[0] 
    vvmph2 = float(fh2.vmph2.value) 
    vvftps2 = vvmph2*1.4666700004 
    fh2.vftps2.value = vvftps2 
</SCRIPT>

<FORM method="" action=""> 
    <p class="ex1">For $v$ mph = <INPUT Type="text" Name="vmph2" id="vmph2" Value="" Size="10" autocomplete="off"> $\;\;$mph<br> 
    we get that $v$ ft per second = <INPUT Type="text" Name="vftps2" Value="" Size="10">. 
    </p> 

</FORM>
</BODY>
</HTML>
EN

回答 1

Stack Overflow用户

发布于 2018-05-23 23:07:07

工作甚至是处理您复制和粘贴的代码上的注释:第二个脚本检索回第一个表单,并尝试更改那里不存在的"vmph2“控件。第二个函数应从文档表单中获取索引[1]。但是,您不必进入表单(您的fh和fh2变量),然后进入控件,只需使用document["vmph"]document["vmph2"]获取对相关标记的引用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50474150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档