2012-04-01 233 views
0

我是Javascript的总noob。我想要的是有一个搜索表单,并且表单的输入应该改变网址,然后它会打开一个新的标签与新的网址。Javascript替换HTML字符

例如,当我输入'production'时,url将变成http://production-test.com/test/,然后一个新标签页将打开并显示新的url。

我知道这应该是在Javascript中,但我不知道它将如何能够返回新的url。

我有这个HTML到目前为止根本不工作。

<script language="javascript"> 
function change_url(result) { 
    #var result = document.getElementById().value; 
    var new_url = "http://" + result + "-test.com/test/'; 
    # open new window with the new url 
} 

<form id="search-box" name="search_box" method="get" 
action="http://variable-test.com/test/" target="_blank""> 

<input id="search-text" type="text" autocomplete="off" 
class="form-text-box no-focus" name="c" value="" aria-haspopup="true"> 
<input type="radio" id="rel" name="sort" value="1" onchange="saveType('rel');" /><span data-message="TypeOp1">Relevance</span><br /> 

<input id="search-button" type="submit" /> 
+0

已有进展。感谢莫尔博士。但是现在我不知道如何传递参数?从Dr. Molle脚本... form.action =“.../test /?” +“new_paramters”。出于某种原因,放弃问号后的任何内容。 – Carmen 2012-04-01 04:49:29

回答

0

您可以使用window.open

window.open(new_url); 

如果你喜欢的窗口在新标签/窗口中打开,通过在 '_blank' 作为第二个参数

window.open(new_url, '_blank'); 
+0

但html仍然会自行打开窗体,甚至没有调用javascript函数 – Carmen 2012-04-01 01:36:08

+0

我想我正在寻找一个Javascript函数/教程,它将创建一个带有文本框和单选按钮的窗体,然后我可以操作窗体的内容,然后打开一个新标签页。 – Carmen 2012-04-01 01:38:00

+0

对不起,你真的不知道现在想要什么><,我基于我的回答你的要求,说'当我进入'生产',网址将成为http://production-test.com/test/,然后一个新的选项卡将打开新的url.' – 2012-04-01 01:38:02

1

假设你最终目标不仅是在新选项卡/窗口中打开新网址,而且还希望将表单发送到新选项卡/窗口中的新网址:

您可以提交表单之前改变形式的行动:

function change_url(form) { 
    var result = document.getElementById('inputId').value;   
    form.action = "http://" + result + "-test.com/test/"; 
    return true; 
} 

这添加到窗体标签:

onsubmit="return change_url(this)" 

的形式将现在sended到新网址并进入一个新的窗口/选项卡(因为您将目标设置为"_blank"

+0

嗯。有些事情是不对的。它仍然使用我在表单中指定的url。我可以在哪里粘贴新代码?也许我不是把它放在正确的地方。 – Carmen 2012-04-01 01:56:31

+0

对不起,我忘记了功能里面的**结果**,现在已经修复了。 – 2012-04-01 02:00:46

+0

谢谢,但它仍然无法正常工作。它仍然使用表单中的网址。 – Carmen 2012-04-01 02:03:54