如何使用jquery更改字符串值?

时间:2015-12-22 13:59:00

标签: javascript php jquery decode

所以,我已经制作了一个表格并且一切正常,但是,因为当我添加两个单词时我必须使用特定的调查系统,例如“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(' ');
        }
    });
});

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

2 个答案:

答案 0 :(得分:2)

如果此行之后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>

答案 1 :(得分:0)

这是为了防止其他人遇到同一问题:

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

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

PHP:

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

HTML:

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