javaweb 实验3

news2024/9/28 16:58:06

我发现了有些人喜欢静静看博客不聊天呐,

但是ta会点赞。

这样的人呢帅气低调有内涵,

美丽大方很优雅。

说的就是你,

不用再怀疑哦

实验三 Web基础-JavaScript

目的:

1、  理解和掌握Javascript基本语法

2、  掌握JavaScript操作表单对象的方法

3、  理解和掌握JavaScript的函数与事件

4、  理解JavaScript的内置对象

实验要求:

1、  使用JavaScript语言实现实验要求

2、  要求提交实验报告,将代码和实验结果页面截图放入报告中,附实验报告。文件命名规则”学号_姓名.rar”。

3、  实验心得。

实验过程:

1、函数与事件的使用。

编写一个html页面,使用Javascript完成数字的平方计算。完成下面的JS代码,并验证你的程序。

<!DOCTYPE html>

<html>

  <head>

  <script type="text/javascript">

  function  sqrt()

  {

                                         

  }

  </script>

  </head>

  <body>

  <form name="f1">

          请输入一个数字:<input type="text" value="" name="number"/><br>

          平方数:<input type="text" name="result"/>

            <input type="button" value="求平方" οnclick="sqrt()"/>

  </form>

  </body>

</html>

2、要求文本框中只能输入字母,参考如下:(可使用JavaScript内置对象String的方法测试数字和字母)

3、在文本框分别输入两个数,实现两个数的+、-、*、/运算,点击“=按钮将”结果显示在文本框中。界面设计可参考下图。注意对文本框输入的数据是否是数字要进行判断。

实验代码&结果:

第一题:

<!DOCTYPE html>
<html>
  <head>
  <script type="text/javascript">
        function sqrt()
        {
            // var num = document.getElementsByName("f1");  //类型NodeList(1) [form]
            // console.log(num);
            // var res = num*num;
            // document.getElementsByName("result") = res;  
            // console.log(document.getElementsByName("result"));  
            
            var num = document.getElementsByName("number")[0].value;
            console.log(num);
            var res = num * num;
            document.getElementsByName("result")[0].value = res;
            console.log(document.getElementsByName("result")[0].value);
        }
  </script>
  </head>
  
  <body>
  <form name="f1">
    	请输入一个数字:<input type="text" value="" name="number"/><br>
    	平方数:<input type="text" name="result"/>
  		<input type="button" value="求平方" onclick="sqrt()"/>
  </form>
  </body>
</html>

【运行结果】

第二题:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>输入字母</title>
    <script>
        function judge(){
            var str = document.getElementsByName("input")[0].value;
            //console.log(typeof(str));
            for(let i=0; i<str.length; i++)
            {
                if(str[i] >= '0' && str[i] <= '9')
                {
                    alert("你输入的字符串只能是字母");
                    break;
                }
            }

        }
    </script>
</head>
<body>
    <form name="f1">
    	输入字母:<input type="text" value="" name="input"/>
  		<input type="button" value="确定" onclick="judge()"/>
  </form>
</body>
</html>

【运行结果】

第三题:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>输入字母</title>
    <script>
        function calculate(){
            let num1, num2;
            //读取是字符串, 需要转数字
            num1 = parseFloat(document.getElementsByName("num1")[0].value);
            num2 = parseFloat(document.getElementsByName("num2")[0].value);
            
            //提取运算符对应的value值:add、sub...
            //typeof: string:
            var operationValue = document.getElementById("calculator").value;
            // alert(typeof(operation));
            // alert(operationValue);
            if(operationValue == "add")
            {
                document.getElementsByName("result")[0].value = num1+num2;
            }
            else if(operationValue == "sub"){
                document.getElementsByName("result")[0].value = num1-num2;
            }
            else if(operationValue == "mul"){
                document.getElementsByName("result")[0].value = num1*num2;
            }
            else{
                if (num2 === 0) 
                {
                    alert("除数不能为0");
                    return;
                }
                document.getElementsByName("result")[0].value = num1/num2;
            }
        }
    </script>
</head>
<body>
    <form name="f1">
    	请输入两个数进行简单的运算:<br>
        <input type="text" value="" name="num1" />
        <!-- 下拉框 -->
        <select id="calculator"> 
            <option value="add">+</option>
            <option value="sub">-</option>
            <option value="mul">*</option>
            <option value="div">/</option>
        </select>
        <input type="text" value="" name="num2" />
  		<input type="button" value="=" onclick="calculate()"/>
        <input type="text" value="" name="result" />
  </form>
</body>
</html>

【运行结果】

实验心得:

调试了挺久的,document.getElementsByName,或者ById都是返回的NodeList类型,要想获得整型:document.getElementsByName("number")[0].value

下拉框是找了半天的w3school,找不到就去csdn找了,然后就是怎么读取运算符的问题,document.getElementById("calculator")[0].value,四个读取后全是add(笑死🤣),把[0]去掉就没问题了。Csdn和科大讯飞AI都是用addEventListener里面用上匿名函数(类似lambda表达式)又复杂又不行,一行多简单啊,直接搞定了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2174150.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JAVA开源】基于Vue和SpringBoot的足球俱乐部管理后台

博主说明&#xff1a;本文项目编号 T 051 &#xff0c;文末自助获取源码 \color{red}{T051&#xff0c;文末自助获取源码} T051&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…

多跳问答中的语言模型知识编辑增强

人工智能咨询培训老师叶梓 转载标明出处 大模型在整合实时知识更新方面常常遇到困难&#xff0c;这可能导致回答过时或不准确。尤其当处理多跳问题时&#xff0c;挑战进一步增加&#xff0c;因为这类问题需要模型更新和整合与问题相关的多个知识点。图 1为传统基于相似度的搜索…

一个神级 Python 日志管理库:Loguru

大家好&#xff0c;在Python开发过程中&#xff0c;日志记录是不可或缺的一部分&#xff0c;它帮助开发者了解应用程序的运行状态和发现潜在错误。尽管Python自带的logging模块功能全面&#xff0c;但其配置复杂且不够直观。 这时&#xff0c;Loguru库以其简单易用和功能强大而…

Java基础扫盲(二)

想看Java基础扫盲&#xff08;一&#xff09;的可以观看我的上篇文章Java基础扫盲 目录 String为什么设计为不可变的 String有长度限制吗 为什么JDK9将String的char[]改为byte[] 泛型中K,T,V,E,Object,?等都代表什么含义 怎么修改一个类中使用了private修饰的String类型…

电子连接器信号完整性仿真实训教程 一

电子连接器信号完整性仿真学习除需要熟悉软件的基本操作外&#xff0c;还需要基本的实际操作练习才能完全掌握&#xff0c;学以致用。因此推出几期实训教程&#xff0c;教程中将不再详细讲怎么一步一步操作软件&#xff0c;重点讲一些步骤&#xff0c;及一些技巧。也会将连接器…

Spring Boot实战:构建在线商城系统

1 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;规范化管理。这样的大环境让那些止步不前&#…

QQ机器人搭建

使用QQ官方机器人Python SDK和三方框架搭建QQ群聊机器人 文章目录 使用QQ官方机器人Python SDK和三方框架搭建QQ群聊机器人前言编写机器人代码机器人监听群聊进行文字回复机器人监听群聊进行图片回复机器人监听群聊进行文件发送机器人监听群聊进行视频发送机器人监听群聊进行语…

U-Net——当卷积遇见了扩散,图像生成便有了光

U-Net原文 LDM介绍 1. 引言 U-net 模型最初由 Olaf Ronneberger 等人在 2015 年提出&#xff0c;主要用于生物医学图像分割。其创新的网络结构&#xff0c;特别是跳跃连接的设计&#xff0c;使其在各种图像处理任务中表现优异。随着深度学习的快速发展&#xff0c;U-net 逐渐…

Jupyterlab 创建虚拟环境 CondaHTTPError: HTTP 000 CONNECTION FAILED

在创建虚拟环境的时候总是遇到&#xff1a; CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://conda.anaconda.org/conda-forge/linux-64/current_repodata.json> Elapsed: -An HTTP error occurred when trying to retrieve this URL. HTTP errors are of…

这15道C++多态宝藏题及题解,值得瞧一瞧的喔!

这一章主要是对C多态——点我可以了解章节的具体应用&#xff0c;接下来一道一道的来分析&#xff1a;&#x1f447;&#x1f440; 1. 关于虚函数说法【正确】的是&#xff08; B&#xff09; A.被virtual修饰的函数称为虚函数 B.虚函数的作用是用来实现多态 C.虚函数在类中声明…

< 基础物理 >

SI国际单位制 常见的公制单位 为什么需要单位&#xff0c;是统一衡量的标准 通过国际单位&#xff0c;以及单位的拓展&#xff0c;以及单位的组合&#xff0c;形成一系列新的测量单位 面积 m^2 速率 m/s 米每二次方秒&#xff0c;m / s, delta表示增量, 每秒移动多少米 加…

手写体识别毕设——人工智能和深度学习技术的快速发展

引言 研究背景 随着人工智能和深度学习技术的快速发展,手写体识别作为其中的一项重要应用,受到了广泛关注。手写体识别技术可以应用于教育、金融、医疗等多个领域,对于提高识别效率和准确性具有重要意义。

C++深入学习string类成员函数(3):访问与修饰

引言 在 C 中&#xff0c;std::string 提供了丰富的成员函数来访问和修改字符串中的字符。通过这些函数&#xff0c;程序员可以灵活地处理字符串中的各个元素&#xff0c;无论是读取特定位置的字符&#xff0c;还是修改字符串的内容。此外&#xff0c;std::string 类还确保了访…

git使用“保姆级”教程3——添加暂存区及提交本地库

1、存入暂存区——命令行git add 要将代码放入暂存区&#xff0c;要使用git add指令注意&#xff1a;只是把在工作区的文件往暂存区复制了一份&#xff0c;并不是工作区的文件就消失了 将单文件放在暂存区 // 把文件夹下的1.txt文本放在暂存区 > 1.txt可以替换成任意文件名…

搭建高效知识库:教培机构数字教学的关键一步

在数字化时代&#xff0c;教育培训行业正经历着前所未有的变革。随着在线教育的兴起和个性化学习需求的增长&#xff0c;构建一个高效、易用的知识库已成为教培机构提升教学质量、优化学习体验、增强竞争力的关键一步。本文将深入探讨构建高效知识库的重要性&#xff0c;以及如…

简站wordpress主题产品多图ACF插件设置方法

此教程仅适用于演示站有产品多图的主题&#xff0c;演示站没有产品多图的主题&#xff0c;就别往下看了&#xff0c;省得浪费时间。 1、给产品添加轮播图 简站wordpress主题有多个产品图的主题&#xff0c;添加产品轮播图的具体方法如下&#xff1a; 1.2、选择产品分类 添加…

【管理】销售管理到底应该怎么管?

销售是个数字游戏&#xff0c;销售管理的最终目的就是完成销售业绩。有人说销售管理是门艺术&#xff0c;有人说销售管理是科学。销售是一门艺术&#xff0c;但是可以通过科学的方式将这些艺术固化很多人对销售管理的认识存在很多不同&#xff0c;我们尝试用最为平时的语言总结…

黑马程序员pink前端查漏补缺笔记,耗时6天,针对必要案例进行练习

HTML 1&#xff09;插件 自动闭合标签&#xff0c;修改开标签时闭标签跟着变&#xff08;微信开发者工具没有这个功能&#xff09; 主题 保存格式化 浏览器打开 实时刷新&#xff0c;不用按浏览器的刷新按钮 win←/→ 快速分屏 2&#xff09;初始结构标签 文档类型声明标签…

在已安装的openresty上添加安装upstream模块报错的解决以及使用Consul服务发现时定时变更nginx的upstream的shell脚本

一、在已经安装好的openresty环境上添加安装upstream模块报错&#xff1a; 在已经安装好的openresty环境上添加安装upstream模块报错&#xff1a;http upstream check module can not find any check server, make sure you ve added the check 的问题解决。 服务器上已经安装好…

Unity3D入门(四) : Android和Unity3D交互 - Unity调用Android

1. 前言 上篇文章&#xff0c;我们讲了如何通过Android调用Unity3D。这篇文章&#xff0c;我们来讲一下Unity3D怎么调用Android。 1.1 unity和Android的三种通信方式 Unity官方提供的接口 : 有一个弊端&#xff0c;它有一个传输内容量的一个限制&#xff0c;传输内容过大或过…