• JS中应该注意的点


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

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

    1.1 val()

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

    1. Value:<input id="input" type="text" value="LOVE"/>
    2. <td><input type="button" onclick="valTest()" value="测试val()">td>
    3. function valTest() {
    4. console.info($("#input").val());
    5. }

    1.2 text()

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

    1. function textTest(){
    2. var result = $("#tb>tbody").find("tr:eq(1)").text();
    3. console.info(result);
    4. }
    5. <table border="1" id="tb">
    6. <tr>
    7. <td>编号td>
    8. <td>姓名td>
    9. <td>年龄td>
    10. <td>性别td>
    11. tr>
    12. <tr>
    13. <td>1td>
    14. <td>诺伊td>
    15. <td>18td>
    16. <td>td>
    17. tr>
    18. <tr>
    19. <td>2td>
    20. <td>王点点td>
    21. <td>22td>
    22. <td>td>
    23. tr>
    24. <tr>
    25. <td><input type="button" onclick="textTest()" value="测试text()">td>
    26. tr>
    27. table>

    1.3 html()

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

    1. <table border="1" id="tb">
    2. <tr>
    3. <td>编号td>
    4. <td>姓名td>
    5. <td>年龄td>
    6. <td>性别td>
    7. tr>
    8. <tr>
    9. <td>1td>
    10. <td>诺伊td>
    11. <td>18td>
    12. <td>td>
    13. tr>
    14. <tr>
    15. <td>2td>
    16. <td>王点点td>
    17. <td>22td>
    18. <td>td>
    19. tr>
    20. <tr>
    21. <td><input type="button" onclick="htmlTest()" value="测试html()">td>
    22. tr>
    23. table>
    24. body>
    25. function htmlTest() {
    26. var result2=$("#tb>tbody").find("tr:eq(1)").html();
    27. console.info(result2);
    28. }

    1.4 实际应用

    1. //
    2. //修改商品数量,
    3. // val(): 因为这里使用val,是为了修改value的值
    4. $("#goodsCount" + cid).val(e.data);
    5. //¥#{singlePrice}
    6. //商品单价
    7. //html():选中所选元素的html,可能有html元素
    8. let singlePrice=$("#goodsPrice"+cid).html();
    9. let totalPrice=singlePrice*e.data;
    10. //表示将总数加入页面中
    11. //#{totalPrice}
    12. $("#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

    1. type="submit"
    2. <form id="frm1" action="<%=request.ServerVariables("Script_Name")%>" method="post" onSubmit="return check_submit(this)">
    3. <input id="btnconfirm" type="submit" value="确定" name="btnconfirm">form>
    4. type="button"
    5. <form id="frmAddModi" action="<%=request.ServerVariables("Script_Name")%>" method="post" name="frmAddModi" >
    6. <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.

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

    3.SpringBoot+JS的数据交互

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

    1. /*
    2. * id=#{id}:将id传递给后端,方便后面的商品详情信息的展示
    3. * */
    4. var html = '
      '
    5. + '
      #{price}
      '
    6. + '
      '
    7. + '
      ';
  • //替换上面的数据
  • 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);
  • 相关阅读:
    2022年企业数字化技术应用 5 大趋势丨三叠云
    计算机毕业设计springboot+vue基本微信小程序的学生健康管理小程序 uniapp
    Mobx学习之路----强大的“状态管理工具”
    UDP-GlcNAc,UDPAG,尿苷二磷酸-N-乙酰基葡萄糖胺,UDP-N-乙酰葡糖胺
    electron 基础项目搭建 &&主线程和渲染线程的通信
    内网穿透的应用-Linux JumpServer堡垒机:安全远程访问解决方案
    【HTML5高级第一篇】Web存储 - cookie、localStorage、sessionStorage
    Linux--Redis 群集
    java牛客笔试题练习日记 - java基础篇
    集合框架----源码解读ArrayList篇
  • 原文地址:https://blog.csdn.net/m0_63077733/article/details/132835348