javascript - 如何自动检测当前表单元素具有相同的类名

标签 javascript jquery html

我使用append()从桌面 View 附加表单并将其添加到移动 View (包括脚本) 。由于我在提交表单时为表单元素附加相同的类名和 ID,因此它正在识别移动布局表单并在尝试使用 document.getElementsByClassName('txtbox').value 获取值时传递空值。 。

根据我的要求,我需要在附加时提供索引来识别每个表单。喜欢 document.getElementsByClassName('txtbox')[0].value 。我已经做了同样的方法。但不知道如何在应用时增加索引值。我创建了plunker对于同样的。请让我知道我错过了什么。

这是示例代码

$(document).ready(function(){
    var data = $(".div1").html();
    $(".div2").append(data);
    $("form").submit(function(){
      
      console.log(document.getElementsByClassName('txtbox').value);
      /*console.log(document.getElementsByClassName('txtbox')[0].value);
      console.log(document.getElementsByClassName('txtbox')[1].value) ; */
    });
  });
<!DOCTYPE html>
<html>

  <head>
    <link rel="stylesheet" href="style.css">
       <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script src="script.js"></script>
 
  </head>

  <body>
    <div class="div1">
      // data to be copied
      <form class="search-container" onsubmit="event.preventDefault();window.open(abc/cde/+'?q='+document.getElementsByClassName('txtbox').value),'_self');">
         <input type="text" class="txtbox" id="txtbox" placeholder="enter here...">
      <input type="submit" name="submit" /></form>
    </div>
    
    <div class="div2">
      //data to be appended
    </div>
  </body>
</html>

最佳答案

您可以使用$(this).find()来选择表单内的.txtbox

$("form").submit(function() {
    console.log($(this).find('.txtbox').val());
    return false; // for debugging
});

另外,请注意 id 在文档中应该是唯一的。

关于javascript - 如何自动检测当前表单元素具有相同的类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52068478/

相关文章:

javascript - 在 Javascript 中调用它之前确保嵌套对象值存在的最佳方法

jquery - 使用循环在 HTML 中显示来自 jQuery.ajax 的 json 数据

javascript - 在移动设备上预加载音频

javascript - Typescript 键入属性的定义

javascript - 检查字符串中的任何单词是否在数组中

html - 使图像响应父容器的特定高度

javascript - 有没有办法从 html 内容中提取有效的脚本并使用 jQuery 执行它?

jQuery - 根据可见性选择 div 的最佳方法

javascript - Ember 控件在发送操作后不会返回循环

html - 在 Div 中添加 inApp 浏览器