Javascript 将用户文本输入添加到url
我正在创建一个网站,有一个文本字段,您可以在其中输入文本,它将自身附加到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
<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/“+用户输入;
}
希望有帮助。:)