Javascript 如何将表行传递到包含所有输入元素的隐藏表单?
我在我的项目中创建了包含多行的表。现在,我想提交来自表行的元素,用户在表行中输入它们的信息,但不是全部。所以我想知道什么是将该表行中的所有元素传递到hidden的最佳方法,这样我就可以只提交该特定行中的信息。这是我的密码:Javascript 如何将表行传递到包含所有输入元素的隐藏表单?,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我在我的项目中创建了包含多行的表。现在,我想提交来自表行的元素,用户在表行中输入它们的信息,但不是全部。所以我想知道什么是将该表行中的所有元素传递到hidden的最佳方法,这样我就可以只提交该特定行中的信息。这是我的密码: <form name='slotsPtc' id='slotsPtc' method='POST'> <table> <tbody> <tr> <td>Slot_La
<form name='slotsPtc' id='slotsPtc' method='POST'>
<table>
<tbody>
<tr>
<td>Slot_Label</td>
<td><span>
<input type='text' name='EMAIL' value='' class="email"/>
<input type='button' name='slot' value='Save' onClick='saveSlot(this)'></span>
<input type='hidden' value='userID'/>
<input type='hidden' value='dateSignUp'/>
</td>
</tr>
</tbody>
</table>
</form>
function saveSlot(btn){
//Here I want to submit my form with information entered in table row.
}
插槽标签
功能存储槽(btn){
//在这里,我想提交表格,并在表格行中输入信息。
}
我应该在onClick事件之后将信息传递给我的函数,然后动态创建表单并传递所有信息吗?还是有更好的方法 我的建议是这样做,然后发布通过选择器找到的表单数据:
$('#save').click(function(){
console.log($(this).parents('tr').find('td input'));
});
示例(从选择器检查控制台中的对象):
我的建议是这样做,然后发布通过选择器找到的表单数据:
$('#save').click(function(){
console.log($(this).parents('tr').find('td input'));
});
示例(从选择器检查控制台中的对象):
我的建议是:
功能存储槽(btn){
var frm=document.getElementById('slotsPtc');
//禁用该按钮,直到表单成功提交或失败
//这是为了避免在提交相同数据时提交
btn.disabled=true;
$.ajax({
网址:frm.action,
类型:frm方法,
数据:$(btn).parent('tr').find(':input').serialize(),
成功:功能(结果){
//再次启用该按钮
btn.disabled=false;
//成功提交表格
},
错误:函数(jqXHR、textStatus、errorshown){
//在任何情况下,再次启用按钮
btn.disabled=false;
//未能提交的表格
}
});
}
插槽标签
插槽_标签1
我的建议是:
功能存储槽(btn){
var frm=document.getElementById('slotsPtc');
//禁用该按钮,直到表单成功提交或失败
//这是为了避免在提交相同数据时提交
btn.disabled=true;
$.ajax({
网址:frm.action,
类型:frm方法,
数据:$(btn).parent('tr').find(':input').serialize(),
成功:功能(结果){
//再次启用该按钮
btn.disabled=false;
//成功提交表格
},
错误:函数(jqXHR、textStatus、errorshown){
//在任何情况下,再次启用按钮
btn.disabled=false;
//未能提交的表格
}
});
}
插槽标签
插槽_标签1
因此,不要使用此选项:
data: $(btn).parent('tr').find(':input').serialize()
我不得不用这个:
data:$j(btn).closest('td').find(':input').serialize()
由于某种原因,当我使用第一行代码时,我的表单在提交后是空的。然后我切换并使用了最近的('td').find(':input'),这给了我正确的输入字段和有效值 因此,不要使用这个:
data: $(btn).parent('tr').find(':input').serialize()
我不得不用这个:
data:$j(btn).closest('td').find(':input').serialize()
由于某种原因,当我使用第一行代码时,我的表单在提交后是空的。然后我切换并使用了最近的('td').find(':input'),这给了我正确的输入字段和有效值 您可以使用Ajax将您的信息作为json发送到服务器,而无需创建新表单。常规提交将提交
中的所有输入,但您可以使用jQuery
和自定义数据成员进行自定义提交。您可以使用Ajax将您的信息作为json发送到服务器,而无需创建新表单formA regular submit将提交
中的所有输入,但您可以使用jQuery
和自定义数据
成员进行自定义提交。我尝试了此代码,由于某种原因,在提交表单后,我的表单为空。我不知道为什么。我尝试了这个代码,由于某种原因,我的表单在提交表单后是空的。我不知道为什么。