用户通过表单提交关键字;我怎样才能得到'关键词'搜索URL的一部分,以便在页面中进行修改

User submits keyword via a form; how can I get the 'keyword' part of a search URL to get modified in the page?

本文关键字:一部分 修改 URL 搜索 关键字 用户 关键词 表单提交      更新时间:2023-09-26

我有一个页面,上面有许多url,去保存搜索。我想添加一个文本表单字段,用户可以添加关键字到这些url。目前我在header中使用这个javascript:

function change_text(){
    var changetext = document.getElementById("newtext").value;
    document.getElementById("text").innerHTML = changetext;
}

在正文中:

   <a href="http://google.com/search?q=javascript%20url<span id="text">%20</span>">Saved Search</a>
   <input type="text" id="newtext"><input type="button" value="Press to change URL!"language="javascript" onClick="change_text()">

但是'span'标签被添加到URL并破坏它。有没有什么简单的方法可以让用户在不需要网络服务器的情况下更新URL ?

尝试:

<a href='http://google.com/search?q='>Google</a>
<br>
<a href='http://yahoo.com/sd?='>Yahoo</a>
<br>
<input id='newLink'><input type="button" value="Press to change URLs!" onClick="change_text()">
<script>
a = document.getElementsByTagName('a');
href = new Array()
for(var i=0;i<a.length;i++){
a.id='link'+i;
href.push(a[i].href);
}
function change_text(){
keyword = document.getElementById('newLink').value;
for(var i=0;i<a.length;i++){
a[i].href = href[i]+keyword;
}
}
</script>

你可以这样写:

  <a id=text href="http://google.com/search?q=javascript%20url#">Saved Search</a>

function change_text(){
    var changetext = document.getElementById("newtext").value;
    var text = document.getElementById("text")
    text.attr("href", text.attr("href").replace("#", changetext);
}

即替换整个URL。您可能需要验证搜索页面上除了#之外还有其他字符(#只是一个示例,您可以使用任何合适的字符)