【问题标题】:How to change string in value using jquery?如何使用 jquery 更改字符串的值?
【发布时间】:2015-12-22 13:59:00
【问题描述】:

所以,我制作了一个表格,一切正常,但是,因为当我添加两个词时,我必须使用特定的调查系统,比如“Mary Ann”,它在表单字段中广告“%20” .表单是用$_GET 生成的,但这不是现在的主题。

所以看起来像:Mary%20Ann

我正在尝试用 jQuery 解决这个问题。

这是我的代码,但它不起作用:

$(window).ready(function() {
    var comp = $('.comp-name').val();
    var compCheck = $("comp:contains('%20')");
        $(comp).load(function(){ 
        if($(compCheck) === true) {
            $('comp').html(' ');
        }
    });
});

如何解决这个问题,以便动态地看到间距?

【问题讨论】:

  • 使用indexOfcomp.indexOf('%20')
  • 那我怎么添加html呢?
  • 与php/或css无关
  • 它使用 php,因为表单是使用 php 生成的。无需降级...
  • 您确定需要在 jquery 中执行此操作吗? %20只是一个空格的URL编码,你显示的时候PHP可以帮你解码,不是吗?

标签: javascript php jquery decode


【解决方案1】:

如果comp的值在这行之后:

var comp = $('.comp-name').val();

"Mary%20Ann",那么您使用的任何调查系统都已损坏:这是一个不合适的 URI 编码字符串。最好的解决方案是使用完整的调查系统。

非常次优是尝试修复它。由于这是一个 URI 编码的字符串,您可以对其进行解码:

comp = decodeURIComponent(comp);

但是,这是非常次优的解决方案。修复或更换测量系统是正确的解决方案。

实例:

var comp = "Mary%20Ann";
snippet.log("Before: " + comp);
comp = decodeURIComponent(comp);
snippet.log("After: " + comp);
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="//tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

【讨论】:

  • 谢谢,你能写下函数的完整顺序吗?我在哪里放置:comp = decodeURIComponent(comp);
  • @super11:见上面的“这一行之后”。如果它在那里坏了,那是修复它的好地方。
【解决方案2】:

这是以防万一其他人遇到同样的问题:

戴维的评论让我找到了正确的答案。自然,我在这里有一个错误的方法——我试图用 Javascript、jQuery 来解决这个问题。正确的解决方案是使用 PHP,因为它比基于客户端的语言更安全。 urldecode 成功了。

所以,这是我实现的部分代码:

PHP:

$compname=isset($_GET['companyname']) ? urldecode($_GET['companyname']) : '';

HTML:

 <input class="cmp-name" type="text" name="companyname" value="<?=$compname?>" required>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-01
    • 2021-07-28
    相关资源
    最近更新 更多