Javascript 发送数据时出现LEM 将$(“input:date”)更改为$(“input[type='date'])-正如Mouser指出的,这确实是最初代码失败的核心原因。所有其他更改都将帮助您避免将来出现其他问题,或者只是与“代码质量”相关的更改

Javascript 发送数据时出现LEM 将$(“input:date”)更改为$(“input[type='date'])-正如Mouser指出的,这确实是最初代码失败的核心原因。所有其他更改都将帮助您避免将来出现其他问题,或者只是与“代码质量”相关的更改,javascript,html,Javascript,Html,所以…这些是主要的更新。:)如果我误解了你的意图,或者你有任何问题,请告诉我 $(“文档”).ready(函数(){ $('productanddates')。在('click',':button',函数(){ var lastRow=$(this).closest('table').find(“tr:last child”); var clone=lastRow.clone(); 克隆.find('input,select')。每个(函数(){ var id=$(this.attr('id'

所以…这些是主要的更新。:)如果我误解了你的意图,或者你有任何问题,请告诉我

$(“文档”).ready(函数(){
$('productanddates')。在('click',':button',函数(){
var lastRow=$(this).closest('table').find(“tr:last child”);
var clone=lastRow.clone();
克隆.find('input,select')。每个(函数(){
var id=$(this.attr('id');
var regIdMatch=/^(+.+)(\d+)$/;
var aIdParts=id.match(regIdMatch);
var newId=aIdParts[1]+(parseInt(aIdParts[2],10)+1);
$(this.attr('id',newId);
$(this.attr('name',newId));
});
克隆.find(“输入[type='date']”).val(“”);
克隆。插入后(lastRow);
});
});

提交您的保险续保日期
名称
续约日期
汽车
家
厢式货车
生意
缺口
旅行
联系电话
电子邮件地址

对于这样的动态html,最好学习如何使用类和DOM遍历,而不必担心需要ID。通过将
.find('input:date')
更改为
.find('input.date')
并添加
class=“date],显示依赖于ID的代码在这个JSFIDLE中似乎可以工作“
到您的日期输入。您是否尝试在全局JavaScript中而不是在函数
$(窗口)中声明
newIDSuffix
。加载
?@charlietfl-我不会阻止人们在表单元素中使用
id
属性。通过将
属性的标签
与输入
id
匹配,将标签绑定到每个输入不仅是一种最佳实践,而且对于任何类型的可访问性支持(即,对于屏幕阅读器)都是绝对必要的,但是一般来说,学习使用DOM的人倾向于过度依赖ID作为访问元素的最佳方式,因为它实际上会导致额外的复杂性。尽管正确,您的答案在解释中有点误导。jQuery实际上支持选择器中的
:INPUT-TYPE
格式,但不支持新的HTML5输入类型(尚未):如果他一直尝试更新表单中的按钮,例如,
。find(“INPUT:button”)
甚至
。find(:button”)
都可以正常工作。css选择器和jQuery选择器虽然相关,但确实存在一些差异。@talemyn,谢谢您的更新。更新了我的答案以匹配您的评论,因此技术上是正确的。现在您要向他收取
100万美元的费用
*把他的小指放在他的嘴上*哈哈。他给了它一个很好的机会。我想我会帮他一点忙@塔勒明先生,你是我的英雄。对此我感激不尽,它工作得非常完美,这正是我想要实现的。@JohnWoods-太棒了。很乐意帮忙。很高兴它对你有用。:)欢迎来到堆栈溢出!虽然此代码可能会回答该问题,但提供有关此代码为什么和/或如何回答该问题的附加上下文可提高其长期价值。
cloned.insertAfter(thisRow).find('input:date').val('');
cloned.insertAfter(thisRow).find('input[type="date"]').val('');
cloned.insertAfter(thisRow).find('input[type="date"]').val('');