• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
LilyLiya
博客园    首页    新随笔    联系   管理    订阅  订阅
Form event
form, 'submit', name用来干什么?怎么避免提交当前页面时自动跳转到另一个不存在的页面?form.elements.product.value。 输入框文字动态清空
  • 如何避免submit自动跳转到不存在的页面?
    • e.preventDefault()
    • form.addEventListener('submit', function (e){.  //这里就不再是click了,而是submit。
    • }

  • form里面的name定义用来干什么?
    • 在js里面可以直接用form.elements.name来定位到这个元素,eg: form.elements.product.value;//直接定义到form里面一个命名为product的元素的值
  • 怎么让输入框文字动态清空?
    • 当完成某个输入事件之后,让输入框的内容更新为空字符: input.value = '';

    • <!DOCTYPE html>
      
      <head>
          <title>Grocery List</title>
          <!--LEAVE THESE LINES ALONE, PLEASE! THEY MAKE THE LIVE PREVIEW WORK!-->
          <script src="node_modules/babel-polyfill/dist/polyfill.js" type="text/javascript"> </script>
          <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
      
      </head>
      
      <body>
          <h1>Grocery List</h1>
          <form action="/nowhere">
              <label for="item">Enter A Product</label>
              <input type="text" id="product" name="product">
              <label for="item">Enter A Quantity</label>
              <input type="number" id="qty" name="qty">
              <button>Submit</button>
          </form>
      
          <ul id="list"></ul>
          <script src = "app.js"></script>
      </body>
      
      </html>
      const form = document.querySelector('form');
      const ul = document.querySelector('ul');
      form.addEventListener('submit', function (e){
          e.preventDefault();//whent the form is submitted, prevent the default behavior
          const qty = form.elements.qty;
          const pdt = form.elements.product;
          newInfo(qty.value, pdt.value);
          qty.value = ''; //当执行了加入新条目(调用完newinfo function)到ul中之后,实时清空input里面的值
          pdt.value = '';
          
      })
      
      const newInfo = (product, qty) =>{
          const li = document.createElement('li');
          li.innerText = `${qty} ${product}`;
          ul.append(li); //或者ul.appendChild(li);
          
      }

 

posted on 2021-01-21 12:38  LilyLiya  阅读(169)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3