在不使用经典 html 表单的情况下,在 Web 应用程序中存储隐藏值的最佳实践是什么?
我希望这个问题不是没有用!但说实话,这对我来说是个问题。
当我想在 Web 应用程序中构建用户界面来(添加、删除、编辑)某些内容时,我使用 HTML 表单 + 隐藏输入
来存储一些值,例如“用户 ID”
code> 要删除、编辑..
我想仅使用“anchors + span + div
”而不是“隐藏输入
”来构建相同的界面。当我编写处理“onAdd、onDelete 和 onEdit”事件的 javascript 代码时,我需要知道什么将被删除? 将从我的数据库中踢出的 ID 是什么
?
问题是,如何在不使用隐藏输入的情况下将此 ID 存储在我的 html 标签中?
我使用的是这样的:
<div id="userid_133421" >
<span>Name</span>
<a id="onDelete">Delete</a>
<a id="onEdit">Edit</a>
</div>
$("#onDelete").click(function({
user_id = $(this).parent().attr('id').substring($(this).attr('id').indexOf('_')+1);
$.post('index.php?component=user&action=remove&user_id=' + user_id, function(data){
});
}));
我检查了一些网站,例如 Dropbox ,我发现他们不使用这种技术来存储值(例如文件id),更重要的是他们不使用经典的隐藏输入来做到这一点!
我只是想知道你如何管理你的代码以选择最好的方式? :(
I hope that this question is not useless ! but seriously , it is a problem for me .
when I want to build a user interface in a web application to (add, delete ,edit ) something I use HTML forms + hidden inputs
to store some values such as "user id"
to be deleted,edited ..
I want to build the same interface using just " anchors + span + div
" insteand of "hidden inputs
" . when I write the javascript code that handles "onAdd ,onDelete and onEdit" events I need to know what will be deleted ? what is the id that will be kicked out from my database
?
The question is , how to store this ID in my html tags without using hidden inputs ?
what I'm using is something like this :
<div id="userid_133421" >
<span>Name</span>
<a id="onDelete">Delete</a>
<a id="onEdit">Edit</a>
</div>
$("#onDelete").click(function({
user_id = $(this).parent().attr('id').substring($(this).attr('id').indexOf('_')+1);
$.post('index.php?component=user&action=remove&user_id=' + user_id, function(data){
});
}));
I checked some websites such as Dropbox , and I found that they don't use this technique to store values (such as file id) , and even more they don't use classic hidden inputs to do that!
I just want to know how do you manage your code to choose the best way ? :(
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您使用 JQuery,为什么不使用
data()
存储信息的功能?If you are using JQuery, why not use the
data()
function to store information?我第二@nfecher!这就是我现在正在开发的应用程序中所做的事情!我们将 id 存储在 data-myAppName-itemTypeId 中。 myAppName 正在创建一个伪命名空间,以避免与可能使用相同 data-* 属性的其他插件发生冲突:例如 data-stackoverflow-commentId="4" 根本不需要隐藏输入!您可以对所有元素遵循相同的样式。如果它是通用删除功能,您可以查找父类名称并决定要获取哪个 data-* 属性!
I second @nfecher! That's how I am doing it right now in an application that I'm working on! We store the ids in the data-myAppName-itemTypeId. The myAppName is creating a pseudo namespace to avoid collisions with other plugins that may use the same data-* attributes: e.g. data-stackoverflow-commentId="4" No need for hidden inputs at all!! You can follow the same style for all elements. If it's a generic delete functionality, you could look up the parent class name and decided which data-* attribute you want to fetch!