从javascript变量中的表单输入中获取值,这里我使用的是jquery cdn。请查看代码

Getting value from a form input in a javascript variable here I am using jquery cdn. please review code

提问人:Muhammad Aamir Khan 提问时间:1/3/2023 最后编辑:JensMuhammad Aamir Khan 更新时间:1/3/2023 访问量:34

问:

我试图将表单输入的值保存到 javascript 可变中,但值总是找不到......

下面是示例代码

<body>
    <input type="text" name="name" id="name" placeholder="enter your name">
    <input type="email" name="address" id="address" placeholder="enter your mail address">
    <input type="submit" name="submit">
    <div id="id0">

    </div>

    <script>
        var a;
    
      a =$('input');
      var i=0;
      var c;
      var temp=document.getElementById("name").value;
      var temp1=document.getElementById("address").value;
   
      a.eq(2).on('click', function(){
        alert(temp)
    
        c=document.getElementById('id'+i);
        i++;
        c.innerHTML="<hr> Hi,   "+temp+"     Your address is    "+temp1+"<div id='id"+i+"'></div>";
        })

   </script>
</body>

结果: 如图所示。

只是 temp 和 temp1 变量的值。

JavaScript jQuery 表单 变量 输入

评论

1赞 Carsten Løvbo Andersen 1/3/2023
将 2 行向下移动到您的点击功能中。问题是,当您的代码运行时,AND 将为空,因为在填充变量时,输入不包含任何数据。temptemp1temptemp1
0赞 Diego D 1/3/2023
如前所述,当这些字段仍为空时,您将在页面加载时获取名称和地址输入值,而您应该在 Click 事件处理程序中执行此操作。我还建议你:不要使用获取输入列表中的按钮,而是直接获取元素;摆脱 jQuery 用于选择元素S 的使用并添加 click 事件处理程序;使用模板字符串文字而不是连接字符串;将您的输入类型提交更改为输入类型按钮;.eq(2)document.querySelector('input[name=submit]')querySelectorAlladdEventListener

答:

0赞 amel 1/3/2023 #1

变量 和 被视为空值,因为您在输入一些值之前填充它们,因此要获得单击按钮时的值,您应该填充两个变量并在单击函数中如下所示:temptemp1text inputsinputstemptemp1

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>
    <input type="text" name="name" id="name" placeholder="enter your name">
    <input type="email" name="address" id="address" placeholder="enter your mail address">
    <input type="submit" name="submit">
    <div id="id0"></div>

    <script>
      var a;
    
      a = $('input');
      var i=0;
      var c;
      
      a.eq(2).on('click', function(){
        var temp=document.getElementById("name").value;
        var temp1=document.getElementById("address").value;
        alert(temp);
    
        c=document.getElementById('id'+i);
        i++;
        c.innerHTML="<hr> Hi,   "+temp+"     Your address is    "+temp1+"<div id='id"+i+"'></div>";
        })
   </script>
</body>