Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将用户文本输入添加到url_Javascript_Html_Css_Append - Fatal编程技术网

Javascript 将用户文本输入添加到url

Javascript 将用户文本输入添加到url,javascript,html,css,append,Javascript,Html,Css,Append,我正在创建一个网站,有一个文本字段,您可以在其中输入文本,它将自身附加到url。现在我有一些工作的系统,但是,一个页面不会显示出来 以下是我的代码: <script> function changeText2() { var userInput = document.getElementById('userInput').value; var lnk = document.getElementById('lnk'); lnk.h

我正在创建一个网站,有一个文本字段,您可以在其中输入文本,它将自身附加到url。现在我有一些工作的系统,但是,一个页面不会显示出来

以下是我的代码:

<script>
    function changeText2() {
        var userInput = document.getElementById('userInput').value;
        var lnk = document.getElementById('lnk');
        lnk.href = "http://jwallach.prepdev.org/" + userInput;
        window.location = "http://jwallach.prepdev.org/" + userInput;
    }
</script>   

Link <a href="" id=lnk>nothing </a>
<br>
<input type='text' id='userInput' value=' ' />
<input type='button' onclick='changeText2()' value='Change Link' />

函数changeText2(){
var userInput=document.getElementById('userInput').value;
var lnk=document.getElementById('lnk');
lnk.href=”http://jwallach.prepdev.org/“+用户输入;
window.location=”http://jwallach.prepdev.org/“+用户输入;
}
链接

但是,由于URL前面有%20,因此找不到该页。我该如何解决这个问题?

从输入中删除前导空格:

<input type='text' id='userInput'/>
后者是一个更好的主意,因为前导/尾随空格是用户在字段中键入/粘贴时经常犯的错误

如果用户不是有意输入URL的一部分,您还应确保对其输入进行URL编码,以防其输入包含非URL安全字符:

lnk.href = "http://jwallach.prepdev.org/" + encodeURIComponent(userInput);

从输入中删除前导空格:

<input type='text' id='userInput'/>
后者是一个更好的主意,因为前导/尾随空格是用户在字段中键入/粘贴时经常犯的错误

如果用户不是有意输入URL的一部分,您还应确保对其输入进行URL编码,以防其输入包含非URL安全字符:

lnk.href = "http://jwallach.prepdev.org/" + encodeURIComponent(userInput);

很简单,只需从输入值中删除%20即可。:)

所以这个

<input type='text' id='userInput' value=' ' /> 

变成这个

<input type='text' id='userInput' value='' />

简单,只需从输入值中删除%20即可。:)

所以这个

<input type='text' id='userInput' value=' ' /> 

变成这个

<input type='text' id='userInput' value='' />

只需更改此项:

对此:

由于
属性,输入标记内的默认值是
空格
%20
%20
什么都不是,只是
空间的ASCII编码参考值。了解有关ASCII值参考的更多信息

在单击backspace几次后开始键入值,或者只需将
value=“”
更改为
value=“”
,或者只需删除
value
属性即可立即解决问题

如果用户误点击空格,
%20
将再次弹出。因此,您可以做的是,修剪输入

在脚本标记中进行以下更改

<script>
  function changeText2(){
var userInput = document.getElementById('userInput').value.trim();
var lnk = document.getElementById('lnk');
lnk.href = "http://jwallach.prepdev.org/" + userInput;
window.location = "http://jwallach.prepdev.org/" + userInput;
}
</script>

函数changeText2(){
var userInput=document.getElementById('userInput').value.trim();
var lnk=document.getElementById('lnk');
lnk.href=”http://jwallach.prepdev.org/“+用户输入;
window.location=”http://jwallach.prepdev.org/“+用户输入;
}
希望有帮助。:)

只需更改此项:

对此:

由于
属性,输入标记内的默认值是
空格
%20
%20
什么都不是,只是
空间的ASCII编码参考值。了解有关ASCII值参考的更多信息

在单击backspace几次后开始键入值,或者只需将
value=“”
更改为
value=“”
,或者只需删除
value
属性即可立即解决问题

如果用户误点击空格,
%20
将再次弹出。因此,您可以做的是,修剪输入

在脚本标记中进行以下更改

<script>
  function changeText2(){
var userInput = document.getElementById('userInput').value.trim();
var lnk = document.getElementById('lnk');
lnk.href = "http://jwallach.prepdev.org/" + userInput;
window.location = "http://jwallach.prepdev.org/" + userInput;
}
</script>

函数changeText2(){
var userInput=document.getElementById('userInput').value.trim();
var lnk=document.getElementById('lnk');
lnk.href=”http://jwallach.prepdev.org/“+用户输入;
window.location=”http://jwallach.prepdev.org/“+用户输入;
}
希望有帮助。:)