id喜欢有一个输入框,用户可以输入一个搜索词,然后传递给一个javascript函数,然后将一些url段与搜索词组合在一起创建一个完整的url。到目前为止它一直没有形式的工作正常,但我想添加一个表单,以便用户只需按Enter键而不是单击提交按钮。
提交按钮代码:
<a href="javascript: void(0)" onClick="this.href = i1 + document.getElementById('intranet').value + i3" target="_blank">
<div id="submit" class="out"
onMouseOver="document.getElementById('submit').className = 'over';"
onMouseOut="document.getElementById('submit').className = 'out';">
<span>Submit</span>
</div>
</a>
错误的表格/输入代码:
<form action="" onSubmit="this.href = i1 + document.getElementById('intranet').value + i3; return false;" method="get" target="_blank">
<input type="text" id="intranet" size="15" value="Search Intranet.."
onFocus="document.getElementById('intranet').value = ''"
onBlur="document.getElementById('intranet').value = 'Search Intranet..'" / >
</form>
可能的js函数来创建url:
<script language="javascript" type="text/javascript">
function urlGen(value)
{
var i1 = "seg1";
var i2 = document.getElementById('intranet').value;
var i3 = "seg2";
var fullURL = i1 + document.getElementById('intranet').value + i3;
return fullURL;
}
</script>
答案 0 :(得分:3)
使用表单的onSubmit事件,其中将适当的数据设置为Intranet的输入 - 不要更改this.href(表单没有这样的属性)。请记住,可以在客户端禁用JavaScript。考虑将隐藏的输入放入i1和i2的表单中,并在服务器端执行所有组合逻辑。
<form action="" onSubmit="urlGen()">
...
</form>
<script language="javascript" type="text/javascript">
function urlGen()
{
var i1 = "urlSeg1";
var i2 = document.getElementById('intranet').value;
var i3 = "urlSef2";
document.getElementById('intranet').value = i1 + i2 + i3;
}
</script>
答案 1 :(得分:3)
可能是这样的:
<form action="" onSubmit="urlGen(this);" method="get" target="_blank">
<input type="text" id="intranet" size="15" value="Search Intranet.."
onFocus="this.value = ''"
onBlur="this.value = 'Search Intranet..'" / >
</form>
function urlGen(f){
var i1 = 'urlSeg1';
var i2 = f.intranet.value;
var i3 = 'urlSef';
f.action = i1 + i2 + i3;
return true;
}
答案 2 :(得分:0)
还应该注意,这是一个侧边栏小工具,只需要使用ie,服务器/客户端限制为null。尝试了这两种方法(我认为 - 仍然是初学者),但是当我点击输入时发生的所有事情都是页面重新加载(target =“_ blank”打开相同的新页面。)
我想完全取消提交按钮区域,但它可以使用该功能而没有表单标记。
我现在拥有的:
<div id="row2">
<script language="javascript" type="text/javascript">
function urlGen(f)
{
var i1 = "seg1";
var i2 = f.intranet.value;
var i3 = "seg2";
var fullURL = i1 + i2 + i3;
f.action = i1 + i2 + i3;
return true;
}
</script>
<!-- Intranet Search -->
<form action="" onSubmit="urlGen(this)" method="post" target="_blank">
<input type="text" id="intranet" size="15" value="Search Intranet.."
onFocus="this.value = ''"
onBlur="this.value = 'Search Intranet..'" / >
</form>
<br><br>
<a href="javascript: void(0)" onClick="this.href = i1 + document.getElementById('intranet').value + i3" target="_blank">
<div id="submit" class="out"
onMouseOver="document.getElementById('submit').className = 'over';"
onMouseOut="document.getElementById('submit').className = 'out';">
<span>Submit</span>
</div>
</a>
</div>