【问题标题】:passing multiple value 1 name javascript传递多个值 1 名称 javascript
【发布时间】:2017-11-17 02:39:41
【问题描述】:

我正在处理我的论文,当我尝试将标签存储到某个上传的文件时遇到了挫折

我找到了一些 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 个值, 而且,我不能删除输入值,所以如果我弄错了并删除了标签,隐藏的输入也不会被删除。

请帮帮我,提前谢谢你!

【问题讨论】:

    标签: javascript php html laravel-5


    【解决方案1】:

    如果我猜对了,您正试图在同一 name="" 下向服务器发送更多标签

    您可以通过将名称 Tags 更改为 Tags[] 来做到这一点,例如:

    $("<input/>", {
        type:         "hidden",
        value:        txt.toLowerCase(),
        name:         "Tags[]",
        insertBefore: this
    });
    

    在服务器端标签将是array

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多