【问题标题】:pass url stored as string in variable to form's onsubmit将作为字符串存储在变量中的 url 传递给表单的 onsubmit
【发布时间】:2011-03-24 05:15:13
【问题描述】:

如何使用 onsubmit(按 Enter 时执行)创建表单标签,该标签以字符串变量形式打开具有给定 url 的目标窗口?

到目前为止我有什么:

<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 经验的人提供任何帮助!

【问题讨论】:

  • 你现在所拥有的东西有什么问题?在表单元素上设置“action”属性是正确的做法。
  • 它确实会在正确的 url 上打开一个新的目标窗口,但缺少搜索词,我不确定这是怎么回事,因为当我添加时:alert(fullURL);到脚本它正确显示我想传递给目标窗口的完整网址。

标签: javascript forms url action onsubmit


【解决方案1】:

你需要给你的&lt;input&gt; 元素一个“名称”值:

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

或者,您的 Javascript 代码可以使用 document.getElementById("intranet") 来获取对输入元素的引用。

此外,虽然这不直接相关,但将 &lt;div&gt; 放在 &lt;a&gt; 标记内不是有效的标记。

【讨论】:

  • 添加 name="intranet" 导致这是链接到页面:查看完整文档类型的源代码...)> - 0.000363
猜你喜欢
  • 2011-03-19
  • 2013-07-08
  • 2014-09-19
  • 2017-03-21
  • 2017-01-06
  • 1970-01-01
  • 2015-12-25
  • 1970-01-01
  • 2012-05-16
相关资源
最近更新 更多