我在html中为一个简单的表单做了麻烦,对于我的论坛。 我有一个文本框和一个按钮。 文本框包含昵称。 我需要将用户重定向到包含URL网站+昵称的网站(例如http://www.heythere/nick/textboxnickname)。 问题是,使用我编写的代码,我的论坛再次将我重定向到它,方法是在文件夹中添加文本框和我的按钮的名称。
//Script
<script type="text/javascript">
function levaSpazi()
{
var i=0;
var gt = document.getElementById("gt");
var strLength = gt.length;
for(i; i<strlength; i++){
gt = gt.replace(" ","%20");
}
var indirizzo="http://xboxdvr.com/gamer/" + gt;
window.location*.href=indirizzo;
return false;
}
</script>
//HTML
<form name="Guarda" onSubmit="return levaSpazi();">
...
<input type="text" maxlength="15" name="gt" id="gt">
<input type="submit" name="guarda" value="Guarda">
...
</form>
当我保存此代码时,我正在使用的平台(forumfree.it)使用“window.location * .href”修改“window.location.href”
答案 0 :(得分:2)
一个代码片段很高兴看到。重定向可能会发生,因为您设置了错误的type
。您应该将其设置为type="button"
。
实际上,你真的不需要表格。这是一个例子:
function openURL()
{
var name = document.getElementById('myName').value;
var url = 'http://www.heythere/nick/' + encodeURIComponent(name);
// In current window
window.location.href = url;
// In new window
window.open(url);
}
在HTML中:
<input type="button" onclick="openURL()" value="Go"/>
但也许我弄错了。如果您想更改表单的action
属性的URL(在发送之前),我想这可能会有效:
HTML:
<form data-url="http://www.heythere/nick/" action="" onsubmit="changeForm(event, this)">...</form>
JS:
function changeForm(e, formRef)
{
// Prevent browser sending the form self
e.preventDefault();
var name = document.getElementById('myName').value;
formRef.action = formRef.getAttribute('data-url') + encodeURIComponent(name);
// Send
formRef.submit();
}
我是通过手机发送的,无法测试,抱歉。但它应该像那样工作。
答案 1 :(得分:1)
使用提交表单的Javascript,在JS中为网址添加昵称并重定向。
但是我们不知道你使用什么(简单的HTML和PHP,ASP.NET或任何框架?)
使用JQuery:
$("your_form_selector").submit(function(){
// var nickname = GetNickname
$(this).attr("action", "your_new_url/" + nickname);
});
答案 2 :(得分:0)
您可以将事件监听器附加到您的按钮,并传递一个回调,该回调将您的网址与点击事件上的文本框值连接起来:
var nickname = document.getElementById("txt");
function redirect () {
window.location.href = "https://heythere.com/nick/" + nickname.value;
};
document.getElementById("btn").addEventListener('click', redirect);
&#13;
<input type="text" id="txt" />
<input type="button" id="btn" value="Submit" />
&#13;