Javascript jQuery使用%0A在新行上显示URL参数
我正在尝试将URL中的参数显示到Javascript jQuery使用%0A在新行上显示URL参数,javascript,newline,url-parameters,Javascript,Newline,Url Parameters,我正在尝试将URL中的参数显示到隐藏输入字段到li。此位工作正常,空格%20的ASCII值也正常。i、 e..html?line1=sample%20text%201&line2=sample%20text%202输出:sample text 1 sample text 2 问题是当我试图在url中添加%0A以将长文本输出到新行时。。这个钻头坏了。我似乎无法将参数显示在新行上。我看了这里和谷歌上的问题,但我无法解决它 这是我正在研究的代码: function getQueryVariable(v
隐藏输入字段到li
。此位工作正常,空格%20的ASCII值也正常。i、 e..html?line1=sample%20text%201&line2=sample%20text%202
输出:sample text 1 sample text 2
问题是当我试图在url中添加%0A
以将长文本输出到新行时。。这个钻头坏了。我似乎无法将参数显示在新行上。我看了这里和谷歌上的问题,但我无法解决它
这是我正在研究的代码:
function getQueryVariable(variable) {
try {
q = location.search.substring(1);
v = q.split("&");
for (var i = 0; i < v.length; i++) {
p = v[i].split("=");
if (p[0] == variable) {
if (p[1].indexOf('%20') != -1 && p[1].indexOf('%0A') != -1) {
return decodeURIComponent(p[1]);
}
else {
return p[1];
}
}
}
}
catch (e) {
console.log(e);
}
}
getQueryVariable("line1");
getQueryVariable("line2");
getQueryVariable("line3");
函数getQueryVariable(变量){
试一试{
q=位置搜索子串(1);
v=q.分割(“&”);
对于(变量i=0;i
提前谢谢
编辑:
$(文档).ready(函数(){
$(函数(){
$('#input1').val(getQueryVariable('line1')).trigger('keyup');
});
$('#input1')。在('keyup',函数(){
var值=$(this.val();
$(“li#one”)。文本(值);
});
});
如果您在HTML文档中显示它(看起来很可能),那么HTML不会注意换行符-它们只用于文本文档。您需要将换行符替换为HTML换行符(
),使其在网页中显示新行。但这并不清楚,因为您还没有向我们展示任何实际显示数据的代码。另外,如果字符串包含某些特定的编码字符,为什么只对其进行解码?还有更多可能出现的字符需要解码。@ADyson感谢您的建议。问题是,“line1”上的参数有时可能很长,因此需要将其分解。我想添加换行符。我试着在jQuery上执行它,但出于某种原因,它仍然有效=/。让我为您更新整个代码。这里没有jQuery,只是函数中的纯JavaScript。您在编辑中显示的jQuery与问题没有直接关系。我知道您想添加换行符,但我的观点是关于显示此信息的环境…在HTML文档中,文本样式的换行符不起作用,因此如果希望换行符可见,则必须在显示文本之前将其转换为HTML换行符。你们也并没有回答我关于只解码几个字符的观点,这并没有任何意义。是的,用换行符替换HTML换行符,就像我已经说过两次的那个样。如果愿意,您可以在显示数据时执行此操作-无需将这些HTML字符放入URL中。您可以使用字符串替换将%0A
替换为
。您了解文本文档和HTML文档之间的区别吗?替换为$(“li#one”).text(值)代码>带有$(“li#one”).html(值)代码>-否则jQuery将把HTML格式化为纯文本。
$(document).ready(function () {
$(function () {
$('#input1').val(getQueryVariable('line1')).trigger('keyup');
});
$('#input1').on('keyup', function () {
var value = $(this).val();
$("li#one").text(value);
});
});
<input type="hidden" id="input1" />
<ul id="texts">
<li id="one"></li>
</ul>