JS中应该注意的点

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

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.hqwc.cn/news/107839.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

熵 | 无线通信知识

文章目录 一、信息论&#xff08;熵、联合熵、条件熵&#xff09;二、Bernoulli熵三、联合熵和条件熵四、互信息五、相对熵(KL距离)六、微分熵七、最大熵分布常需要的不等式公式 一、信息论&#xff08;熵、联合熵、条件熵&#xff09; 熵定义&#xff1a; H ( X ) E [ − l …

VRTK4⭐一.VRTK4和VRTK的区别 , 及VRTK4简介

文章目录 &#x1f7e5; VRTK4和VRTK的区别1️⃣ 版本区别2️⃣安装方式区别 &#x1f7e7; 安装VRTK41️⃣ AssetStore网址2️⃣安装不同功能的包 &#x1f7e9;Tilia的独立功能包介绍及配置方法&#x1f381;Tilia.CameraRigs.SpatialSimulator.Unity [重要]&#x1f381;Til…

Java“牵手”1688商品列表页数据采集+商品价格数据排序,商品销量排序数据,1688API接口采集方法

1688平台是阿里巴巴旗下的综合性B2B电子商务平台。该平台目前属于阿里巴巴集团旗下子公司&#xff0c;以批发和采购业务为核心&#xff0c;通过专业化运营、全面优化企业电子商务的业务模式&#xff0c;主要分为垂直行业市场及特色服务频道&#xff0c;垂直行业市场主要针对行业…

反序列化漏洞复现(typecho)

文章目录 执行phpinfogetshell 执行phpinfo 将下面这段代码复制到一个php文件&#xff0c;命名为typecho_1.0-14.10.10_unserialize_phpinfo.php&#xff0c;代码中定义的类名与typecho中的类相同&#xff0c;是它能识别的类&#xff1a; <?php class Typecho_Feed{const…

设计模式课件

设计模式 创建型设计模式的分类&#xff0c;定义结构型设计模式的分类&#xff0c;定义行为型设计模式的分类&#xff0c;定义 设计模式的分类&#xff0c;在23种设计模式中&#xff0c;每一种属于哪一种的设计模式设计模式的应用场景设计模式的图形&#xff08;考察较少&#…

1分钟了解音频、语音数据和自然语言处理的关系

机器学习在日常场景中的应用 音频、语音数据和自然语言处理这三者正在不断促进人工智能技术的发展&#xff0c;人机交互也逐渐渗透进生活的每个角落。在各行各业包括零售业、银行、食品配送服务商&#xff09;的多样互动中&#xff0c;我们都能通过与某种形式的AI&#xff08;…

MySQL与ES数据同步之异步调用

文章目录 简述SpringBoot项目引入依赖配置文件项目结构实体类配置类RabbitMQ交换机队列声明&#xff0c;绑定配置类回调接口配置类 Mapper接口UserMapper接口UserEsMapper Controller类Service接口Service实现类监听类/消费者 简述 上一篇是同步调用&#xff0c;我们在中间加上…

新手询问想要成功学好嵌入式开发有什么建议吗?

今日话题&#xff0c;想要成功学好嵌入式开发有什么建议吗&#xff1f;想要学好的话选择一门合适的编程语言是关键。虽然嵌入式开发支持多种语言&#xff0c;但C和C仍然是最常用的。如果你是初学者&#xff0c;从学习C语言开始是一个不错的选择。它相对容易学习&#xff0c;而且…

MCU芯片测试:性能指标测试痛点是什么?ATECLOUD能否解决?

MCU芯片测试指标的核心是性能指标&#xff0c;包括处理器性能、存储器容量和读写速度&#xff0c;外设性能等。芯片测试对自动化测试的要求很高&#xff0c;ATECLOUD-IC不仅解决了传统测试方法的问题&#xff0c;而且也可以满足芯片测试的高要求&#xff0c;高效地完成MCU芯片性…

Vue组合式API

文章目录 Vue组合式API1. 概念1.1 传统组件1.2 组合式API 2. setup 组件 Vue组合式API 1. 概念 Vue3 组合式 API&#xff08;Composition API&#xff09; 主要用于在大型组件中提高代码逻辑的可复用性。 传统的组件随着业务复杂度越来越高&#xff0c;代码量会不断的加大&am…

Ubuntu18中NVIDIA,cuda,cudnn,pytorch安装

注意&#xff1a;nvidia驱动和cuda,cudnn,pytroch,python的对应关系 linux安装pytorch&#xff08;包括cuda与cudnn&#xff09;_linux清华园按照pytorch1.12_BryceRui的博客-CSDN博客 安装流程&#xff1a;安装cuda&#xff08;包括nvidia驱动&#xff09; cudnn python安装…

软件设计模式系列之三———工厂方法模式

1 模式的定义 工厂方法模式是一种常见的设计模式&#xff0c;属于创建型设计模式之一&#xff0c;它在软件工程中用于对象的创建。该模式的主要思想是将对象的创建过程抽象化&#xff0c;将具体对象的实例化延迟到子类中完成&#xff0c;以便在不同情况下可以创建不同类型的对…