Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 具有多个表单且只有一个表单在工作的表_Jquery_Html - Fatal编程技术网

Jquery 具有多个表单且只有一个表单在工作的表

Jquery 具有多个表单且只有一个表单在工作的表,jquery,html,Jquery,Html,我使用Jquery附加我的表,当我附加它时,会添加一个新的tbody,每个tbody包含一个表单。问题是只有第一种形式有效,我不知道为什么。这是我的剧本: <script type="text/javascript"> $(document).ready(function() { $("#tr_clone_add").click(function(){ $('#listuser').append('<tbody><form:form action

我使用Jquery附加我的表,当我附加它时,会添加一个新的tbody,每个tbody包含一个表单。问题是只有第一种形式有效,我不知道为什么。这是我的剧本:

<script type="text/javascript">
$(document).ready(function() {
     $("#tr_clone_add").click(function(){

    $('#listuser').append('<tbody><form:form action="${pageContext.request.contextPath}/insertMovement" method="post" commandName="movement"><tr>'+
'<td><form:input type="text"  path="nom_etabl"/></td>'+
'<td><form:input type="text" class="tcal" readonly="true" path="date_fin"/></td><td><input type="submit" value="" class="button round blue image-right ic-right-arrow"></td></tr></form:form></tbody>');
     f_tcalInit();
     });
});

$(文档).ready(函数(){
$(“#tr#clone_add”)。单击(函数(){
$('#listuser')。追加(''+
''+
'');
f_tcalint();
});
});

问题出在哪里?

您的表单html无效。请参阅以了解正确的方法。

您正在添加伪标记(
),这些伪标记由服务器正常解析并直接转换为有效的HTML到DOM树。浏览器无法处理它们,因此表单无法工作

您有两个选择:

  • 添加有效的HTML标记(
    ),而不是伪标记
  • 使用AJAX调用解析服务器上的标记,并将生成的HTML添加到DOM树中

  • 您必须根据服务器从这些标记生成的内容来决定什么更适合您。

    发生了什么?当您说它不工作时,您的意思是什么?是否有错误消息?页面是否只是放在那里?是否发布但缺少值?等等。表单的操作必须将数据插入数据库,但当我单击“o”时n按钮nothing is happed
    这是带Razor的ASP.NET MVC吗?还是这一切都应该在Javascript客户端发生?这是带spring MVC框架的java。我在服务器tomcat中运行应用程序。为什么它无效?form:form是spring标记。我只是复制了第一个(在jsp页面的脚本外部编写的)您正在通过JavaScript(读取:客户端)添加表单。我假设您使用的格式在服务器端脚本解析的语法中有效,但对客户端浏览器无效。对不起,我不熟悉java或spring(我是php),但您可以确定,当通过客户端js添加时,这将不起作用。根据我在回答中提供的示例,使用有效的HTML标记替换和。抱歉,没有详细说明,我无法理解您的标记意味着什么。您不再使用spring。spring是服务器端的。spring完成工作后,将生成的HTML和js返回给e客户端浏览器并停止。在客户端浏览器解析js之后,js将表单节点添加到您的DOM中,然后无法理解这些表单的含义。现在,一个ajax调用只是为了生成表单标记?我认为这不是一个有效的建议。我相信如果
    标记在生成时为标记添加更多属性(例如,用于区分多个表单或标记的唯一ID)这是一个有效的解决方案。也许,但我认为这需要一些工作流优化,最坏的情况是——将id打印到一个隐藏的字段中,并根据字段的id使用JS将其阻塞。不是说ajax调用没有有效的使用场景,我是说它必须合理。ajax调用会产生大量连接开销。首先t解决方案对我来说是无效的,因为每个请求都被发送到spring controller…而我不知道如何使用ajax来完成此操作…(我可以使用ajax来追加表吗?如果我这样做,它就可以工作了?@GeraldSchneider