can*_*int 3 jquery field input prop
我想问的是,我有一个名为全屏的复选框,当我检查它时,应禁用宽度和高度这两个输入字段,并将其值设置为null.我使用j查询做得很好,但是当我提交全屏检查表格时,即使两个输入字段值为0,也会保存该两个输入字段的先前值.
有帮助吗?
$("#fullscreenCheckBox").on("change", function() {
if($(this).prop("checked")) {
$("#height").prop("disabled", true);
$("#height").val("");
$("#width").prop("disabled", true);
$("#width").val("");
} else {
$("#height").prop("disabled", false);
$("#height").prop("disabled", false);
}
});
Run Code Online (Sandbox Code Playgroud)
这些值设置为null,但是当提交表单时,它不会保留它
Kam*_*l T 11
如果输入disabled='true'在表单提交时具有该属性,则其值不会与表单一起提交.您可以尝试在jQuery中提交表单时重新启用它,例如:
$("#yourFormId").submit(function(){
$("#YourInputId").prop('disabled', 'false');
});
Run Code Online (Sandbox Code Playgroud)
另一种方法是为每个"可见"输入使用许多额外的隐藏字段,比如<input id='hiddenInputId' type='hidden' > 在jQuery中设置其值.用户不会看到它们,但它们的值仍将通过表单提交发送.例:
$("#yourInputId").change(function(){
$("#hiddenInputId").val($(this).val()));
});
Run Code Online (Sandbox Code Playgroud)
之后,当您处理提交时,您只需忽略常规输入值,并仅使用hiddens.
就个人而言,我认为第二种选择(隐藏输入)要好得多.你甚至可以扩展它,而不是在change()中硬键入你的DOM元素id,你可以为每个元素添加一个数据属性,然后一举杀死所有的鸟:)
| 归档时间: |
|
| 查看次数: |
12763 次 |
| 最近记录: |