我是Javascript的总菜鸟。我想要的是有一个搜索表单,表单的输入应该更改网址,然后它会打开一个带有新网址的新标签。
例如,当我输入“生产”时,网址将变为http://production-test.com/test/,然后将使用新网址打开新标签。
我知道这应该是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 :(得分:1)
假设您的最终目标不仅是在新标签/窗口中打开新网址,而且您还希望将表单发送到新标签/窗口中的新网址:
您可以在提交表单之前更改表单的操作:
function change_url(form) {
var result = document.getElementById('inputId').value;
form.action = "http://" + result + "-test.com/test/";
return true;
}
并将其添加到form-tag:
onsubmit="return change_url(this)"
表单将立即发送到新网址并进入新窗口/标签页(因为您将目标设置为"_blank"
)
答案 1 :(得分:0)
您可以使用window.open
window.open(new_url);
如果您希望在新标签/窗口中打开窗口,请将'_blank'作为第二个参数传递
window.open(new_url, '_blank');