我正在处理我的论文,当我尝试将标记存储到某些上传的文件时,我发现了绊倒
我找到了一些javascript来帮助我在上传页面上创建标签。
$("#tags input").on({
focusout : function() {
var txt = this.value.replace(/[^a-z0-9\+\-\.\#]/ig,''); // allowed characters
if(txt) {
$("<span/>", {text:txt.toLowerCase(),value:txt.toLowerCase(), insertBefore:this});
$("<input/>", {type:"hidden",value:txt.toLowerCase(),name:"Tags", insertBefore:this});
}
this.value = "";
},
keyup : function(ev) {
// if: comma|enter (delimit more keyCodes with | pipe)
if(/(188|13)/.test(ev.which)) $(this).focusout();
}
});
$('#tags').on('click', 'span', function() {
if(confirm("Remove "+ $(this).text() +"?")) $(this).remove();
});
});
如果我想用这个js将多个标签传递给我的上传控制器怎么办?
我尝试使用隐藏的输入类型,但它一次只传递1个值, 而且,我无法删除输入值,所以如果我错了并删除标签,隐藏的输入也不会被删除。
请帮帮我,提前谢谢你!
答案 0 :(得分:0)
如果我猜对了,你试图在同一个name=""
您可以通过将Tags
更改为Tags[]
来完成此操作,例如:
$("<input/>", {
type: "hidden",
value: txt.toLowerCase(),
name: "Tags[]",
insertBefore: this
});
在服务器端,标签将是array