Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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中的新网站?_Javascript_Html - Fatal编程技术网

如何使用单选按钮将用户发送到JavaScript中的新网站?

如何使用单选按钮将用户发送到JavaScript中的新网站?,javascript,html,Javascript,Html,我想让程序做的是做一个表单,有两个单选按钮和一个文本。 然后我希望它将文本和广播值合并为一个,并将我带到该页面: 如果我输入像“facebook”这样的文本,并且radiobutton的值是.com,我希望它将facebook+发送到该页面 基本形式 重定向: 你想去哪里? 不 网站 函数go(){ var end=“”; 如果(选中document.getElementById(“no”)){ end=document.getElementById(“no”)值; }否则{ end=do

我想让程序做的是做一个表单,有两个单选按钮和一个文本。 然后我希望它将文本和广播值合并为一个,并将我带到该页面:

如果我输入像“facebook”这样的文本,并且radiobutton的值是.com,我希望它将facebook+发送到该页面


基本形式
重定向:
你想去哪里?
不

网站 函数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时