JS中应该注意的点

news2025/1/6 19:10:45

本帖子记录在使用前端时遇到的一些小点。

1.html()和text()和val()的使用及区别

1.1 val()

val()是对于单标签元素的值,其中一个很重要的特性是value=""

Value:<input id="input" type="text" value="LOVE"/>

<td><input type="button" onclick="valTest()" value="测试val()"></td>

 function valTest() {
            console.info($("#input").val());
        }

1.2 text()

text()是选择所选元素的文本,没有对应的html

function textTest(){
            var result = $("#tb>tbody").find("tr:eq(1)").text();
            console.info(result);
        }

<table border="1" id="tb">
    <tr>
        <td>编号</td>
        <td>姓名</td>
        <td>年龄</td>
        <td>性别</td>
    </tr>
    <tr>
        <td>1</td>
        <td>诺伊</td>
        <td>18</td>
        <td>女</td>
    </tr>
    <tr>
        <td>2</td>
        <td>王点点</td>
        <td>22</td>
        <td>女</td>
    </tr>
    <tr>
        <td><input type="button" onclick="textTest()" value="测试text()"></td>
    </tr>
</table>

1.3 html()

是选中所选元素的html,可以有html元素

<table border="1" id="tb">
    <tr>
        <td>编号</td>
        <td>姓名</td>
        <td>年龄</td>
        <td>性别</td>
    </tr>
    <tr>
        <td>1</td>
        <td>诺伊</td>
        <td>18</td>
        <td>女</td>
    </tr>
    <tr>
        <td>2</td>
        <td>王点点</td>
        <td>22</td>
        <td>女</td>
    </tr>
    <tr>
        <td><input type="button" onclick="htmlTest()" value="测试html()"></td>
    </tr>
</table>
</body>
        function htmlTest() {
            var result2=$("#tb>tbody").find("tr:eq(1)").html();
            console.info(result2);
        }

1.4 实际应用

//<input id="goodsCount#{cid}" type="text" size="2" readonly="readonly" class="num-text" value="#{num}">
							//修改商品数量,
							// val(): 因为这里使用val,是为了修改value的值
							$("#goodsCount" + cid).val(e.data);
							//<td>¥<span id="goodsPrice#{cid}">#{singlePrice}</span></td>
							//商品单价
							//html():选中所选元素的html,可能有html元素
							let singlePrice=$("#goodsPrice"+cid).html();
							let totalPrice=singlePrice*e.data;
							//表示将总数加入页面中
							//<td><span id="goodsCast#{cid}">#{totalPrice}</span></td>
							$("#goodsCast"+cid).html(totalPrice);

2.button和submit的区别

如果表单在点击提交按钮后需要用JS进行处理(包括输入验证)后再提交的话,通常都必须把submit改成button,即取消其自动提交的行为,否则,将会造成提交两次的效果,对于动态网页来说,也就是对数据库操作两次。或者在使用submit时验证时加return true或false。

2.1 button:不提交表单

如果要页面提交后还需要进行验证,则使用button

button则响应用户自定义的事件,如果不指定onclick等事件处理函数,它是不做任何事情.当然,button也可以完成表单提交的工作.

INPUT type=button 就是单纯的按钮功能,提交的是innerTEXT

普通的按钮,不会自动提交表单数据.可以在JS中显式提交:document.form1.submit(),使用场合: 一个页面有多个提交按钮,需要根据用户的操作来确定到底提交到哪个控制器,这种情况下,就需要在JS中判断用户的操作,然后根据操作来给document.form1.action赋值并且document.form1.submit()来提交

执行完onClick,转到action。可以自动提交不需要onClick,所以说onclick这里可以不要。

<input type="button" name="b1" value="提交" onClick="bt_submit_onclick()">

 执行完onClick,跳转文件在 js文件里控制,提交需要onClick.如果这儿没有 onClick

type="submit"
<form id="frm1" action="<%=request.ServerVariables("Script_Name")%>" method="post" onSubmit="return check_submit(this)">
<input id="btnconfirm" type="submit" value="确定" name="btnconfirm"></form>

type="button"
<form id="frmAddModi" action="<%=request.ServerVariables("Script_Name")%>" method="post" name="frmAddModi" >
<input id="btnconfirm" type="button" value="确定" name="btnconfirm" onClick="check(frmAddModi);"/>

2.2 submit:提交表单

如果页面添写完后,不需要验证,则使用submit【回车键可以直接提交数据】

submit默认为form提交,可以提交表单(form)

submit是button的一个特例,也是button的一种。

INPUT type=submit 即发送表单,按回车提交表单

注意点:如果需要进行验证,则使用return false/true

submit:特殊的button,会自动将表单的数据提交,onClick方法不加return 会自动提交,并不会起到约束的作用,所以,使用submit时需要验证请加 return true或false.

<input type="submit" name="Submit" value="注 册" onClick=" return check();">
在JS中判断的时候 写return true; 或者 return false;

3.SpringBoot+JS的数据交互

我们需要将从后端获取的数据动态的加入表单中

/*
							* id=#{id}:将id传递给后端,方便后面的商品详情信息的展示
							* */
							var html = '<div class="col-md-12">'
									+ '<div class="col-md-7 text-row-2"><a href="product.html?id=#{id}">#{title}</a></div>'
									+ '<div class="col-md-2">#{price}</div>'
									+ '<div class="col-md-3"><img src="..#{image}collect.png" class="img-responsive" /></div>'
									+ '</div>';
							//替换上面的数据
							html = html.replace(/#{id}/g, list[i].id);
							html = html.replace(/#{title}/g, list[i].title);
							html = html.replace(/#{price}/g, list[i].price);
							html = html.replace(/#{image}/g, list[i].image);
							
							//将动态获取的数据替换掉原来的静态数据
							$("#hot-list").append(html);

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

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

相关文章

postman导入json脚本文件(Collection v1.0、Collection v2.0)

1. 以postman v8.5.1 版本为例 2. 在postman v5.0.2 低版本中导出json脚本文件, 请选择Collection v2.0 Export - Collection v2 3. 在postman v8.5.1 版本 导入 json脚本文件 Import - Collection v2 - Export - Import

ROS rviz常用可视化插件

文章目录 ROS rviz常用可视化插件rviz常用可视化组件GridMapLaser ScanPointCloud2TFImagesPathMarker ROS rviz常用可视化插件 rviz RViz&#xff08;Robot Visualization&#xff09;是ROS&#xff08;Robot Operating System&#xff09;中的一个重要工具&#xff0c;用于…

常见的网络欺诈风险类型有哪些?

身份伪冒&#xff0c;这是非常典型的第三方欺诈&#xff0c;指的是不法分子使用虚假身份证等身份信息、未经他人同意而冒用他人身份获取贷款的骗贷行为。 另外还有帐号垃圾注册&#xff0c;通过大规模的帐号注册&#xff0c;养号养卡&#xff0c;控制帐号骗贷。此外还有中介包装…

原型链解释

一、什么是原型链 原型链是javascript中用来实现类似类继承的一套机制。像链条一样把javascript中的对象连接起来&#xff0c;实现类似子联系父的现象。 二、原型链的实现 总的来说&#xff0c;就是&#xff1a; 对象的__proto__指向其构造器的prototype对象&#xff0c;然后…

上半年实现营收9.24亿元,创新奇智的AI成制造业福星?

如今&#xff0c;AI大模型迈入了商业化落地的新阶段&#xff0c;并且已经有不少产品被不知不觉地应用到了生活各个方面。 其中&#xff0c;作为AI领域的后起之秀&#xff0c;创新奇智也于近日发布了截至2023年6月30日止六个月的中期业绩报告。数据显示&#xff0c;创新奇智202…

新建的SFTP用户,连接报错

useradd -m -d /usr/local/data/ftp/abc abc 新建SFTP用户 usermod -g sftpgroup -G sftpgroup abc 将abc加入到sftpgroup组 Received disconnect from 192.168.10.2 port 22:2: Too many authentication failures Disconnected from 192.168.10.2 port 22 Connection clos…

6、DVWA——SQL injection

文章目录 一、概述二、low2.1 通关思路&#xff08;1&#xff09;判断是否存在sql注入漏洞。&#xff08;2&#xff09;判断字符型还是数字型&#xff08;3&#xff09;判断字段数&#xff08;4&#xff09;查看回显点&#xff08;5&#xff09;查看数据库名&#xff08;6&…

R730xd风扇调速

共使用了三个方法都是有效的&#xff0c;dell_fans_controller_v1.0.0和Dell_EMC_Fans_Controller_1.0.1以及ipmitool&#xff0c;前面两个是GUI界面后面一个是命令行工具 重点 我虽然能通过设置的ip地址能访问idrac管理界面&#xff0c;但是使用上面三个工具都是无法获取风扇…

C++:模板(函数模板、类模板)

本文主要介绍泛型编程、函数模板和类模板。 目录 一、泛型编程 二、函数模板 1.函数模板概念 2.函数模板格式 3.函数模板的原理 4.函数模板的实例化 5.模板参数的匹配原则 三、类模板 1.类模板的定义格式 2.类模板的实例化 一、泛型编程 如何实现一个通用的交换函数…

普通的maven里面没有配置tomcat服务器问题

上面的意思也就是可以直接如下访问 他会直接给我们跳转到 webapp下面的index.jsp页面 为什么跳转到这个页面呢&#xff0c;原因在于我们在tomcat服务器里面的配置文件web.xml做了如下配置 只要webapp下面有如上几个页面&#xff0c;就会被默认运行 如果运行中出现控制台中文…

2023年8月京东彩瞳行业数据分析(京东商品数据)

和传统的框架眼镜、隐形眼镜相比&#xff0c;多种花纹、颜色的美瞳镜片给了爱美的年轻人更多的选择&#xff0c;因此&#xff0c;在颜值经济叠加悦己思潮的影响下&#xff0c;兼具“视力矫正美妆”的彩瞳受追捧。 根据鲸参谋电商数据分析平台的相关数据显示&#xff0c;8月份&…

TorchAudio has CUDA version 11.7.

RuntimeError: Detected that PyTorch and TorchAudio were compiled with different CUDA versions. PyTorch has CUDA version 11.8 whereas TorchAudio has CUDA version 11.7. Please install the TorchAudio version that matches your PyTorch version.升级版本即可 pi…

HTML导航栏二级菜单(垂直、水平方向)

二级菜单是指主菜单的子菜单。菜单栏实际是一种树型结构&#xff0c;子菜单是菜单栏的一个分支。简单分享主要的垂直和水平方向的CSS设计。 垂直方向&#xff1a; HTML: <body><div><ul><li><a href"#">家用电器</a><ul>…

VRTK4⭐三.VRTK4 : 射线传送模块 [包含API传送]

文章目录 &#x1f7e5; 项目配置方法1️⃣ 添加相应模块2️⃣ 配置相关属性3️⃣ 体验一下吧 &#x1f7e7; 传送组件讲解&#x1f7e8; Locomotors.Teleporter.Dash : 缓动传送&#x1f7e9; API 传送示例 &#x1f7e5; 项目配置方法 1️⃣ 添加相应模块 我们要实现的功能…

10:STM32------I2C通信

目录​​​​​​​ 一:I2C通信协议 1:I2C简历 2:硬件电路 3:I2C时序基本单元 A : 开/ 终条件 2:发送一个字节 3:接收一个字节 4:应答机制 4:I2C时序 1:指定地址写 2:当前地址读 3: 指定地址读 二:MPU6050 1:简历 2:参数 3:硬件电路 4:框图 5:寄存器地址 …

weblogic配置证书

1.windows安装jdk JDK 可以到官网下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 系统变量→新建 JAVA_HOME 变量 配置环境变量&#xff1a;右击“我的电脑”–>“高级”–>“环境变量” JAVA_HOME&#xff1a;D:\Java\j…

原型链(一定要搞懂啊!!!>-<)

一、概念 1、prototype 习惯称作“显示原型”&#xff0c;只有构造函数才有的属性。 2、构造函数 能用new关键字创建的对象叫做构造函数 3、__proto__ 习惯称作“隐式原型”&#xff0c;每一个实例都有的属性&#xff0c;该属性指向他构造函数的“显示原型”。Function对象…

iwebsec靶场 文件包含漏洞通关笔记2-文件包含绕过(截断法)

目录 前言 1.%00截断 2.文件字符长度截断法&#xff08;又名超长文件截断) 方法1&#xff08;路径截断法&#xff09; 方法2&#xff08;点号截断法&#xff09; 第02关 文件包含绕过 1.打开靶场 2.源码分析 3.00文件截断原理 4.00截断的条件 5.文件包含00截断绕过 …

传统大数据迁移遇到的问题与解决方案

信息技术的进步和普及使得各个领域都在持续产生和积累大量的数据&#xff0c;这些数据蕴含了丰富的信息和价值&#xff0c;被称为大数据。据国际权威机构IDC预测&#xff0c;到2025年&#xff0c;全球数据总量将达到175ZB&#xff08;1ZB1024EB1024^7B&#xff09;&#xff0c;…

YOLOv5的常见报错总结

目录 1.安装pycocotools报错 2.Cant get attribute SPPF on module models.common 2.1原因 2.2解决方案 3.[WinError 1455] 页面文件太小&#xff0c;无法完成操作 3.1原因 3.2解决方案 4.AssertionError: Image Not Found D:\PycharmProjects\yolov5-hat\VOCdevkit\im…