Javascript 如何使用jquery更改值中的字符串?
所以,我制作了一个表单,一切正常,但是,因为当我添加两个单词时,我必须使用一个特定的调查系统,比如“Mary Ann”在表单字段中显示“%20”。表单是用Javascript 如何使用jquery更改值中的字符串?,javascript,php,jquery,decode,Javascript,Php,Jquery,Decode,所以,我制作了一个表单,一切正常,但是,因为当我添加两个单词时,我必须使用一个特定的调查系统,比如“Mary Ann”在表单字段中显示“%20”。表单是用$\u GET生成的,但这不是现在的主题 所以它看起来像:玛丽%20Ann 我正试图用jQuery解决这个问题 这是我的代码,但不起作用: $(window).ready(function() { var comp = $('.comp-name').val(); var compCheck = $("comp:contains
$\u GET
生成的,但这不是现在的主题
所以它看起来像:玛丽%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”;
log(“之前:+comp”);
comp=组件(comp);
log(“在“+comp”之后)代码>
这只是为了防止其他人遇到同样的问题:
戴维的评论让我找到了正确的答案。当然,我在这里有一个错误的方法——我试图用Javascript、jQuery解决这个问题。正确的解决方案是使用PHP,因为它比基于客户端的语言更安全。警察成功了
下面是我实现的部分代码:
PHP:
HTML:
使用indexOf
comp.indexOf(“%20”)
那么,如何在那里添加html?与php或css无关,它与php无关,因为表单是用php生成的。不需要降级…您确定需要在jquery中执行此操作吗?%20只是一个空间的URL编码,PHP可以在你显示它时为你解码,不是吗?谢谢,你能写下函数的完整顺序吗?放置位置:comp=decodeURIComponent(comp)@super11:请参见上面的“在这一行之后”。如果它在那里坏了,那是一个修复它的好地方。
$compname=isset($_GET['companyname']) ? urldecode($_GET['companyname']) : '';
<input class="cmp-name" type="text" name="companyname" value="<?=$compname?>" required>