如何使用单选按钮将用户发送到JavaScript中的新网站?
我想让程序做的是做一个表单,有两个单选按钮和一个文本。 然后我希望它将文本和广播值合并为一个,并将我带到该页面: 如果我输入像“facebook”这样的文本,并且radiobutton的值是.com,我希望它将facebook+发送到该页面如何使用单选按钮将用户发送到JavaScript中的新网站?,javascript,html,Javascript,Html,我想让程序做的是做一个表单,有两个单选按钮和一个文本。 然后我希望它将文本和广播值合并为一个,并将我带到该页面: 如果我输入像“facebook”这样的文本,并且radiobutton的值是.com,我希望它将facebook+发送到该页面 基本形式 重定向: 你想去哪里? 不 网站 函数go(){ var end=“”; 如果(选中document.getElementById(“no”)){ end=document.getElementById(“no”)值; }否则{ end=do
基本形式
重定向:
你想去哪里?
不
网站
函数go(){
var end=“”;
如果(选中document.getElementById(“no”)){
end=document.getElementById(“no”)值;
}否则{
end=document.getElementById(“com”).value;
}
var输入=document.getElementById(“输入”).value;
var=输入+结束;
window.location.replace(“http://www.“+一起);
}
将type=“submit”更改为type=“button”
更改此行:
<input type="submit" id="submit" name="submit" value="Submit" onclick="go()">
致:
在这种情况下,您不需要提交表单。您正在尝试重定向url。您没有指定表单的提交位置,因此表单是向自身提交的,这是您的问题。将type=“submit”更改为type=“button”
更改此行:
<input type="submit" id="submit" name="submit" value="Submit" onclick="go()">
致:
在这种情况下,您不需要提交表单。您正在尝试重定向url。您没有指定表单的提交位置,因此表单提交到自身,这是您的问题。或者,从onclick处理程序返回false以防止表单提交 请尝试以下代码:
<html>
<head>
</head>
<body>
<form>
<fieldset>
<legend>Redirection: </legend>
<div>
<label>Where do you want to go?</label>
<input type="text" id="input" name="input" size="7">
<input type="submit" id="submit" name="submit" value="Submit" onclick="return go()">
</div>
<div>
<input type="radio" id="no" name="end" value=".no">
<label for=".no">.no</label>
<br />
<input type="radio" id="com" name="end" value=".com">
<label for=".com">.com</label>
</div>
</fieldset>
</form>
<script type="text/javascript">
function go() {
var end = "";
if (document.getElementById("no").checked) {
end = document.getElementById("no").value;
} else {
end = document.getElementById("com").value;
}
var input = document.getElementById("input").value;
var together = input + end;
window.location.replace("http://www." + together);
return false;
}
</script>
</body>
</html>
重定向:
你想去哪里?
不
网站
函数go(){
var end=“”;
如果(选中document.getElementById(“no”)){
end=document.getElementById(“no”)值;
}否则{
end=document.getElementById(“com”).value;
}
var输入=document.getElementById(“输入”).value;
var=输入+结束;
window.location.replace(“http://www.“+一起);
返回false;
}
他的分析似乎恰到好处。。。但我真的无法解释。Chrome似乎将
location.href.replace
(应该离开页面)的副作用延迟到表单提交之后。。。我感觉你在这里碰到了一个浏览器错误。我无法想象这符合规范。或者,从onclick处理程序返回false以防止表单提交
请尝试以下代码:
<html>
<head>
</head>
<body>
<form>
<fieldset>
<legend>Redirection: </legend>
<div>
<label>Where do you want to go?</label>
<input type="text" id="input" name="input" size="7">
<input type="submit" id="submit" name="submit" value="Submit" onclick="return go()">
</div>
<div>
<input type="radio" id="no" name="end" value=".no">
<label for=".no">.no</label>
<br />
<input type="radio" id="com" name="end" value=".com">
<label for=".com">.com</label>
</div>
</fieldset>
</form>
<script type="text/javascript">
function go() {
var end = "";
if (document.getElementById("no").checked) {
end = document.getElementById("no").value;
} else {
end = document.getElementById("com").value;
}
var input = document.getElementById("input").value;
var together = input + end;
window.location.replace("http://www." + together);
return false;
}
</script>
</body>
</html>
重定向:
你想去哪里?
不
网站
函数go(){
var end=“”;
如果(选中document.getElementById(“no”)){
end=document.getElementById(“no”)值;
}否则{
end=document.getElementById(“com”).value;
}
var输入=document.getElementById(“输入”).value;
var=输入+结束;
window.location.replace(“http://www.“+一起);
返回false;
}
他的分析似乎恰到好处。。。但我真的无法解释。Chrome似乎将
location.href.replace
(应该离开页面)的副作用延迟到表单提交之后。。。我感觉你在这里碰到了一个浏览器错误。我无法想象这是符合规范的。它不适用于我您使用的浏览器是什么?可能没有关系,但的属性应该指id
,而不是值。我使用谷歌Chrome我也在谷歌chome上。上面的代码片段对我来说很好。它不适用于我。你使用的浏览器是什么?可能没有关系,但是for
属性应该指id
,而不是value
。我使用谷歌Chrome我也在谷歌chome上。上面的代码片段对我来说很好,因为你没有在任何地方提交表单。表单用于数据提交和进一步处理。在这种情况下,您不需要使用表单……事实上,您可以去掉标记,它仍然可以工作。你能把这个标记为正确的吗?谢谢!我不明白。。。onclick=“go()”在表单提交之前执行,对吗?那么,按钮类型为submit会对表单产生什么影响呢?表单本身正在提交,因为没有操作规范。如果您将他的代码放入桌面上的html文件中,然后在浏览器中运行,您将看到当您单击submit it defaults to get()方法并使用url中的参数将表单提交给自身时,我必须分享Stijn的观点。一个消失了多久的表单
可以提交任何内容?我的意思是window.loaction.replace()
应该立即卸载当前页面,它不会像submit
那样等待脚本执行结束。调试它并查看发生了什么。因为您没有在任何地方提交表单。表单用于数据提交和进一步处理。在这种情况下,您不需要使用表单……事实上,您可以去掉标记,它仍然可以工作。你能把这个标记为正确的吗?谢谢!我不明白。。。onclick=“go()”在表单提交之前执行,对吗?那么,按钮类型为submit会对表单产生什么影响呢?表单本身正在提交,因为没有操作规范。若您将他的代码放入桌面上的html文件中,然后在浏览器中运行,您将看到当您单击submit it defaults to get()方法并提交表单t时