在 Rails 中,jQuery 令牌输入不允许自定义输入

     2023-05-09     155

关键词:

【中文标题】在 Rails 中,jQuery 令牌输入不允许自定义输入【英文标题】:In rails, jQuery token input is not allowing custom entry 【发布时间】:2012-04-17 01:06:26 【问题描述】:

我已下载 1.6.0 版本的令牌输入,但我无法输入自定义条目。一旦我在文本框中输入一些文本并取出光标,文本就会消失。 只有我需要从自动完成列表中进行选择。

例如:- 如果我使用下面的脚本函数,解决方案是什么?

<pre>
<script type="text/javascript">
tokenInput("SOME_ID", "/token_input/name");

function tokenInput(text_box_id, url)
    jQuery("#" + text_box_id).tokenInput(url, 
      allowCustomEntry: true,
      preventDuplicates: true,
      theme: "facebook",
    );
  
</script>
</pre>

请给我解决方案,令牌输入应该允许自定义条目。

【问题讨论】:

【参考方案1】:

它对我很有魅力。

我需要自定义条目来存储数据库,自动增量 id 将是这个令牌的值。

我已将其修复如下。有一个技巧,在添加令牌时,请求会发送到服务器,将新令牌添加到数据库,并且它的新插入 ID 会到达客户端并设置为添加令牌的值。

从 github 获取 plugin 并允许免费标记工具。

<input type="text" name="w_i_tk" id="w_i_tk">

<script>
$(document).ready(function() .

    $("#w_i_tk").tokenInput("token.php", 
        theme: "facebook",
        hintText: "Type tag by which other can search, e.g. PHP, MySql etc.",
        preventDuplicates: true,
        tokenLimit: 5,
        minChars: 2,
        onAdd: function (item) 
            if(item.id=="0") 
                $.ajax(
                    type:"GET",
                    url:"token.php",
                    data:action:"newtoken",name:item.name,
                    success: function(resp) 
                        $("#w_i_tk").tokenInput("remove", name: item.name);
                        $("#w_i_tk").tokenInput("add", id: resp, name: item.name);    
                    
                );

            

        ,
        animateDropdown: false,
        allowFreeTagging: true
    );
);
</script>

token.php

<?php
if(isset($_GET["q"])) 
    $q = trim($_GET["q"]);
    $isSearchItemExists = false;
    $sql = sprintf("SELECT token_id, token from tokens WHERE token LIKE '%%%s%%' ORDER BY popularity DESC LIMIT 10", mysql_real_escape_string($q));
    $rec = mysql_query($sql);

    $arr = array();
    while($row = mysql_fetch_array($rec)) 
        $obj = new stdClass();
        $obj->id = $row["token_id"];
        $obj->name = $row["token"];
        if($obj->name==$q) 
            $isSearchItemExists = true; 
        
        $arr[] = $obj;
    
    if(!$isSearchItemExists) $arr = array_merge(getNewToken($q),$arr);

    $json_response = json_encode($arr);


    echo $json_response;

 else if(isset($_GET["action"]) && $_GET["action"]=="newtoken") 

    $token = strtolower($_REQUEST["name"]);
    $sql = "SELECT * FROM tokens WHERE token='$token'";
    $rec = mysql_query($sql);
    $numRows = mysql_num_rows($rec);
    if($numRows>0) 
        $row = mysql_fetch_array($rec);
        $id = $row["token_id"]; 
     else 
        $sql = "INSERT INTO tokens SET token='$token'";
        $rec = mysql_query($sql);
        $id = mysql_insert_id();    
    
    echo $id;
    exit;


function getNewToken($q) 

    $sql = "SELECT max(token_id) as token_id FROM tokens";
    $rec = mysql_query($sql);
    $row = mysql_fetch_array($rec);
    $maxToken = $row["token_id"];
    $newToken = $maxToken + 1;

    $newItem = array();
    $new = new stdClass();
    $new->id = "0";
    $new->name = $q;
    $newItem[] = $new;

    return $newItem;    

?>

【讨论】:

【参考方案2】:

这应该很快会在 Tokeninput 主分支中得到修复,但与此同时,将 this branch 合并到您自己的分支中应该会为您解决这个问题。

【讨论】:

我的 jquery AJAX POST 请求无需发送真实性令牌(Rails)即可工作

】我的jqueryAJAXPOST请求无需发送真实性令牌(Rails)即可工作【英文标题】:MyjqueryAJAXPOSTrequestsworkswithoutsendinganAuthenticityToken(Rails)【发布时间】:2011-03-0419:42:51【问题描述】:rails中是否有任何规定允许来自站点的所有AJAXPOST请求... 查看详情

Rails 5:jquery用户输入数据不保存

】Rails5:jquery用户输入数据不保存【英文标题】:Rails5:jqueryuserinputdatanotsaving【发布时间】:2019-03-2902:35:02【问题描述】:我在Rails应用程序中有一个表单正在发布但不保存输入数据。服务提供商有能力定义不同的葡萄酒套装,... 查看详情

Jquery令牌输入自动完成不适用于带有rails 3的facebook朋友数组

】Jquery令牌输入自动完成不适用于带有rails3的facebook朋友数组【英文标题】:Jquerytokeninputautocompletenotworkingonfacebookfriendsarraywithrails3【发布时间】:2011-10-1619:22:09【问题描述】:我正在使用本教程处理您的Facebook朋友自动完成的文... 查看详情

Spring Boot 自定义 JWT 过滤器不允许任何没有令牌的请求

】SpringBoot自定义JWT过滤器不允许任何没有令牌的请求【英文标题】:SpringbootcustomJWTfilternotallowinganyrequestwithouttoken【发布时间】:2021-03-3023:54:46【问题描述】:我正在使用带有SpringBoot安全配置的自定义JWT过滤器来允许某些没有JWT... 查看详情

在 Ruby on Rails 中使用 Jquery 为输入字段赋值

】在RubyonRails中使用Jquery为输入字段赋值【英文标题】:GiveinputfieldavaluewithJqueryinRubyonRails【发布时间】:2018-11-1812:59:12【问题描述】:我想给一组输入字段一个值。事先并不清楚要填写多少个输入字段,但是它们都具有相同的类... 查看详情

Rails 4 / jQuery:需要在表单输入中输入值以自动填充其他输入

】Rails4/jQuery:需要在表单输入中输入值以自动填充其他输入【英文标题】:Rails4/jQuery:Needentryofvalueinaforminputtoautofillotherinputs【发布时间】:2016-05-2405:18:31【问题描述】:使用simple_form,我试图获取一个id输入(team_id)的条目,以在... 查看详情

在 Rails 3 中关闭 CSRF 令牌

】在Rails3中关闭CSRF令牌【英文标题】:TurnoffCSRFtokeninrails3【发布时间】:2011-08-0520:59:10【问题描述】:我有一个Rails应用程序,它为iPhone应用程序提供一些API。我希望能够简单地发布资源而不介意获得正确的CSRF令牌。我尝试了... 查看详情

在 jquery 令牌输入中创建令牌

】在jquery令牌输入中创建令牌【英文标题】:createtokensinjquerytokeninput【发布时间】:2013-04-1201:23:23【问题描述】:目前我的jquery令牌输入工作正常。无法创建不在列表中的令牌我看到here,这个功能已经实现。但是没有关于我们... 查看详情

Rails 3 真实性令牌

】Rails3真实性令牌【英文标题】:Rails3AuthenticityToken【发布时间】:2011-03-0402:49:39【问题描述】:有谁知道在RubyonRails3中如何管理真实性令牌?在所有不显眼的JavascriptRubyonRails3文章中展示了如何使用HTML5数据属性,我在任何地方... 查看详情

如果给定jquery ui进行日期选择,如何不允许用户在日期字段的文本框中输入? [复制]

】如果给定jqueryui进行日期选择,如何不允许用户在日期字段的文本框中输入?[复制]【英文标题】:howtodon\'tallowuserfromtypingintextboxofdatefieldifgivenjqueryuifordateselection?[duplicate]【发布时间】:2012-08-2803:55:17【问题描述】:可能重复... 查看详情

Rails - 不检查 CSRF 令牌的控制器

】Rails-不检查CSRF令牌的控制器【英文标题】:Rails-ControllerthatdoesnotcheckforCSRFtoken【发布时间】:2015-10-2706:05:16【问题描述】:在我的rails应用程序中,其中一个控制器显示了我希望托管在不同域上的网站从中提取数据的公共统计... 查看详情

Ruby on Rails - JS 输入令牌,验证失败时的问题

】RubyonRails-JS输入令牌,验证失败时的问题【英文标题】:RubyonRails-JSInputtoken,anissuewhenvalidationfails【发布时间】:2012-11-1913:11:44【问题描述】:我有一个可以有很多标签的公司模型。它工作正常,但有一次它不起作用。情况是公... 查看详情

Rails:您的用户帐户不允许安装到系统 RubyGems

】Rails:您的用户帐户不允许安装到系统RubyGems【英文标题】:Rails:Youruseraccountisn\'tallowedtoinstalltothesystemRubyGems【发布时间】:2017-08-0805:02:23【问题描述】:我正在运行命令bundleinstall在项目文件夹中。在某些项目文件夹中会产生... 查看详情

在 ASP.NET MVC 3 中,Jquery 令牌输入未填充数据库中的值

】在ASP.NETMVC3中,Jquery令牌输入未填充数据库中的值【英文标题】:JqueryTokenInputnotpopulatingvaluesfromdatabase,inASP.NETMVC3【发布时间】:2012-08-1611:05:24【问题描述】:我是jQuery令牌输入的新手,正在通过this教程学习。我想做什么?我... 查看详情

当 axios 在 React 中请求时,Ruby on Rails 的标头中不包含授权令牌,但它可以与 Postman 一起使用

】当axios在React中请求时,RubyonRails的标头中不包含授权令牌,但它可以与Postman一起使用【英文标题】:RubyonRailsdoesnotincludeAuthorizationtokenonheaderwhenrequestbyaxiosinReact,butitdoesworkwithPostman【发布时间】:2021-12-1401:01:27【问题描述】:我... 查看详情

不允许用户在 ruby​​ on rails 中提交带有空字段的表单

】不允许用户在ruby​​onrails中提交带有空字段的表单【英文标题】:Don\'tallowusertosubmitaformwithemptyfieldsinrubyonrails【发布时间】:2015-07-2404:31:40【问题描述】:我开始使用RubyonRails,但遇到了一个小问题。我有一个包含3个字段的... 查看详情

Heroku + Rails:如何允许我的用户添加他们自己的自定义域

】Heroku+Rails:如何允许我的用户添加他们自己的自定义域【英文标题】:Heroku+Rails:HowtoallowmyUserstoaddtheirownCustomDomains【发布时间】:2013-05-1903:17:40【问题描述】:互联网上有大量关于此的帖子,但没有答案。在Heroku上运行的Rails... 查看详情

修复:InvalidAlgorithmError:尝试在 Python 中解码编码的 jwt 令牌时不允许指定的 alg 值

】修复:InvalidAlgorithmError:尝试在Python中解码编码的jwt令牌时不允许指定的alg值【英文标题】:Fix:InvalidAlgorithmError:ThespecifiedalgvalueisnotallowedwhiletryingtodecodeencodedjwttokeninPython【发布时间】:2020-03-0703:39:44【问题描述】:我正在尝... 查看详情