Iam使用append()从桌面视图追加表单并将其添加到移动视图(包括脚本)。由于Iam在提交表单时为表单元素附加了相同的类名和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在文档中应该是唯一的。

09-26 23:34
查看更多