更改使用 ajax 且不带表单 ID 的表单提交
Onchange submit of a form with ajax and without the form id
我的页面由一个表格组成,其中每个单元格都是一个表单。我希望这些表单在我更改输入值时提交(onchange),但我不希望在我这样做时刷新整个页面。
例如,我希望用户能够在一个单元格中输入一个值,然后在提交第一个表单(他们填写的第一个单元格)时 TAB 转到下一个失去焦点的单元格。
我在网上读过很多关于这个的页面,但没有一个符合我的需求,因为我还有一个限制。我的表是由什么形式组成的,是通过 Django 生成的,所以它们都有相同的 id。所以我不能使用 id 从 (java) 脚本内部选择表单。
我一直在尝试使用this.form或event.form或$(this).form,但无济于事。
以下是这些表单的外观:
<form action="" method="POST" id="progress_form">
{% csrf_token %}
<input type="number" id="percent_cell" name="percentdone" min="0" max="100" onchange="progressChange(event)" placeholder={{ d|prog:task.id }}>%
<input type="hidden" id="percent_cell2" name="task" value={{ task.id }}>
<input type="hidden" id="percent_cell3" name="date" value={{ d|date:"d/m/Y" }}>
<input type="hidden" id="percent_cell4" name="update_progress" value=True>
<input type="hidden" id="percent_cell5" name="tab" value="track">
</form>
这是我的脚本的样子:
function progressChange(e) {
var form = e.form;
var dataString = form.serialize();
alert(dataString);
$.ajax({
type: "POST",
url: $(form).attr( 'action' ),
data: dataString,
success: function() {
alert("prout");
},
});
}
更改多个字段的相同 ID,并将 this 对象传递给函数 progressChange()
<form action="" method="POST" id="progress_form">
{% csrf_token %}
<input type="number" id="percent_cell0" name="percentdone" min="0" max="100" onchange="progressChange(this)" placeholder={{ d|prog:task.id }}>%
<input type="hidden" id="percent_cell1" name="task" value={{ task.id }}>
<input type="hidden" id="percent_cell2" name="date" value={{ d|date:"d/m/Y" }}>
<input type="hidden" id="percent_cell3" name="update_progress" value=True>
<input type="hidden" id="percent_cell4" name="tab" value="track">
</form>
获取当前对象 Parent 元素,即表单并序列化它:
function progressChange(obj) {
var $form = $(obj).closest('form'); // OR var form = obj.from;
var dataString = $form.serialize();
alert(dataString);
$.ajax({
type: "POST",
url: $(form).attr( 'action' ),
data: dataString,
success: function() {
alert("prout");
},
});
}
相关文章:
- Php,Javascript-动态表单id's和动态验证
- Jquery无法找到给定表单id的表单输入
- 具有更改表单ID的选择器
- 根据 HTML 表单 ID 值动态设置 jquery 选择器
- 使用 Jquery 从输入中获取表单 ID
- Javascript 找不到 HTML 表单 ID
- 如何从AJAX获取表单ID,并在Symfony2的点击函数中进行设置
- 更改使用 ajax 且不带表单 ID 的表单提交
- 将表单id传递给函数并在函数内提交
- 从OnSuccess或OnFailure获取表单Id
- 追加参数'表单id'使用URL
- 如何在发送表单之前使用jquery选择表单id
- 通过表单id访问单选按钮值
- 如何在javascript中验证相同的表单id
- 如何提交没有表单ID和提交ID,但已知隐藏值的表单
- 正在表中打印表单id
- Jquery获取表单id当一个复选框被点击
- 如何获得表单id与js
- 使用jQuery .submit()检索提交的表单ID和/或名称
- 动态删除后如何更改表单id