jQuery Uncaught TypeError: submit is not a function

jQuery Uncaught TypeError: submit is not a function

我找不到解决这个问题的方法。

我在同一页面上有多个动态生成的表单,它们具有不同的 ID 和数据表单 ID 属性(#form-1、#form-2 等),但页面顶部只有一个提交按钮。在输入时,我将相应的数据表单 ID 值分配给提交按钮,当我单击提交按钮时,它应该提交具有相应 ID 的表单。

一切似乎都按计划进行,但最后我在控制台中收到一条错误消息: 未捕获的类型错误:formToSubmit.submit 不是函数。 串联是问题吗? 非常感谢所有帮助!

$('.inputs').on("input", function(){
 // get the data-form-id from this textarea
 var this_id = $(this).attr('data-form-id');
 // set the submit button's data-form-id attribute with the textarea's id
 $('#submitBtn').attr('data-form-id', this_id);
});
 
$('#submitBtn').click(function(){
 var formTo = $(this).attr('data-form-id');
 formTo = "$('#" + formTo + "')";
 console.log(formTo);
 formTo.submit();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input id="submitBtn" data-form-id="" type="button" value="send">

 <form id="form-1" action="" method="post">
  <textarea name="info" cols="30" rows="10" data-form-id="form-1" class="inputs"></textarea>
 </form>
 
 <form id="form-2" action="" method="post">
  <textarea name="info" cols="30" rows="10" data-form-id="form-2" class="inputs"></textarea>
 </form>

删除行 : formTo = "$('#" + formTo + "')"; in formTo = $('#' + formTo); 中的 " ",因为您构建的是 String 对象而不是 Jquery 对象,因此您尝试提交字符串并抛出错误

$('.inputs').on("input", function(){
 // get the data-form-id from this textarea
 var this_id = $(this).attr('data-form-id');
 // set the submit button's data-form-id attribute with the textarea's id
 $('#submitBtn').attr('data-form-id', this_id);
});
 
$('#submitBtn').click(function(){
 var formTo = $(this).attr('data-form-id');
 in formTo = $('#' + formTo);
 console.log(formTo);
 formTo.submit();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input id="submitBtn" data-form-id="" type="button" value="send">

 <form id="form-1" action="" method="post">
  <textarea name="info" cols="30" rows="10" data-form-id="form-1" class="inputs"></textarea>
 </form>
 
 <form id="form-2" action="" method="post">
  <textarea name="info" cols="30" rows="10" data-form-id="form-2" class="inputs"></textarea>
 </form>