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

How to change string in value using jquery?

本文关键字:字符串 何使用 jquery      更新时间:2023-09-26

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

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

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

这只是为了防止其他人遇到相同的问题:

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

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

PHP:

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

HTML:

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