2010-08-02 71 views
2

如何使用onsubmit(在按下回车键时执行)使用字符串变量形式中的给定url打开目标窗口来创建表单标记?传递URL作为字符串存储在变量中以形式的onsubmit

是我到目前为止有:

<div id="row2"> 

<!-- Intranet Search --> 
<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> 

<script language="javascript" type="text/javascript"> 
    function urlGen(f) 
    { 
    var i1 = "seg1"; 
    var i2 = f.intranet.value; 
    var i3 = "seg3"; 

    var fullURL = i1 + i2 + i3; 
    f.action = i1 + i2 + i3; 

    //document.write(fullURL); 

    return true; 
    } 
</script> 

<br><br> 

<a href="javascript: void(0)" onClick="urlGen();" 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> 

编辑:仍然还没有解决这一点;任何来自更有经验的JavaScript人的帮助将不胜感激!

+0

什么不适合你现在拥有的东西?在表单元素上设置“action”属性是正确的方法。 – Pointy 2010-08-02 13:16:57

+0

它确实打开一个新的目标窗口在正确的网址,除了搜索词缺失,我不知道如何,因为当我添加:alert(fullURL);到脚本它正确显示我想传递到目标窗口的完整url。 – jake 2010-08-02 13:30:03

回答

1

你需要给你的<input>元素的“名称”值:

<input type="text" name="intranet" id="intranet" size="15" ... 

或者,你的JavaScript代码可以使用document.getElementById("intranet")去输入元素的引用。

而且,虽然这不是直接相关的,把一个<div><a>标签内是无效的标记。

+0

加入name =“intranet”导致这是链接到页面: <?xml version =“1.0”encoding =“ISO-8859-1”standalone =“no”?> <!DOCTYPE GSP(View Source全DOCTYPE ...)> - 0.000363 jake 2010-08-02 13:28:37