我使用ExpressionEngine和SafeCracker以及Ajax(插件:jquery.form.js - http://jquery.malsup.com/form/)。
我能说的最好,SafeCracker一次只允许更新一个条目。但是,UI / UX需要显示列表。我通过入门点播表格获得了概念证明。也就是说,单击每个条目旁边的特定编辑链接,一个jquery片段创建一个表单并显示一个提交按钮。单击“提交”,单个条目将更新。在单击“更新”链接之前,输入不存在
如果可能的话,我希望做的是在页面重新编号时创建每个条目的非表单和表单版本,并使用某种切换来显示其中一个。再一次,可行。然后,当我单击编辑链接时,我将向输入添加必要的属性,以便读取条目的表单元素,但忽略其他条目的其他(display:none)元素。我(大声地)思考如果我添加attr(" name",some-value)可以工作。也就是说,将忽略没有名称的输入。
是的,我可以测试一下,我会的。然而,即使它有效,我也不确定它是否是最佳实践和/或这是实现目标的更理想方式。我在这里寻找验证和/或其他专业知识和意见。
提前致谢。
答案 0 :(得分:11)
只需将disabled
属性设置为输入,它们将从 表单提交 中排除,无论输入字段是hidden
还是visible
。不同的jQuery方法(如submit()
和serialize()
)遵循HTML 4的规范,并排除表单的所有禁用控件。所以一种方法是设置
$('your_input').prop('disabled', true);
或,
$('your_input').attr('disabled', 'disabled');
检查以下链接:
http://www.w3.org/TR/html401/interact/forms.html#successful-controls
此外,您可以使用常规button
代替submit
,因此您可以在其上处理点击事件,并且在该事件中您可以对值进行排除,验证,操作以及任何事情你喜欢。
答案 1 :(得分:3)
您可以在服务器端放置disabled
属性或通过jQuery设置属性:
$(".hidden input").prop("disabled", true);