【问题标题】:add text input at end of URL在 URL 末尾添加文本输入
【发布时间】:2011-04-16 23:08:28
【问题描述】:

我有一个简单的 HTML 页面,它有一个文本字段、一个按钮和一个 div。 我想让用户在字段中输入股票代码。当他们按下提交按钮时,一个图表的图像将显示在 div 内。

图表已经存在@http://ichart.finance.yahoo.com/w?s=

要获得特定符号的图表,我需要添加符号、“&”和一个大的随机数。这是一个工作示例

http://ichart.finance.yahoo.com/w?s=YHOO&1234567890

我无法将符号、& 和随机数附加到 URL 的末尾。我也不确定我是否正确使用表单。

代码如下:

    function changeChart() {
    var rand_no = Math.random();
    rand_no = rand_no * 100000000;
    var sym = document.myform.symbol.value;
    document.getElementById('divService').innerHTML = '<' + 'object id="foo" name="foo" type="text/html" data="http://ichart.finance.yahoo.com/w?s="' + sym + '"&"' + rand_no + '"><\/object>';
}

<form name = "myform">
<p>
  Enter stock symbol
  <input id="Text1" type="text" name="symbol"/>
  <input type="button" value="Go" name="Submit" onclick="changeChart(this); return false;"/>
</p>

<div id="divService">
  <object id="foo" name="foo" type="text/html" data="http://www.aol.com/"></object>
</div>


这是完整的代码,CSS 在这里无法正确显示。 https://docs.google.com/document/d/1pq39BKxWRqDS162jWss7-fvTbr0r28wq4VFiedh8SCY/edit?hl=en

【问题讨论】:

  • 我可以简单地看到这个图表:ichart.finance.yahoo.com/w?s=YHOO
  • 是的。我删除了 & 和它起作用的随机数!
  • 需要更改的行是
  • document.getElementById('divService').innerHTML = 'ichart.finance.yahoo.com/w?s=' + sym + '">';

标签: javascript html href add


【解决方案1】:

几分钟前我检查了一下,似乎不需要&amp;1234567890-like URL 部分,所以我会更改代码来获得这个:

function changeChart() {
  var sym = document.forms[0].elements['symbol'].value;
  var divContent = '<'+'object id="foo" name="foo" type="text/html" data="http://ichart.finance.yahoo.com/w?s=' + sym +'"/>';
  document.getElementById('divService').innerHTML = divContent;
}

鉴于随机数不是必需的,并且在 HTML 代码中:

<form name = "myform">
<p>
  Enter stock symbol
  <input id="symbol" type="text" name="symbol"/>
  <input type="button" value="Go" name="Submit" onclick="changeChart(); return false;"/>
</p>

<div id="divService">
  <object id="foo" name="foo" type="text/html" data="http://www.example.com/"></object>
    </div>
</form>

请注意,现在 idname 具有相同的值用于文本输入,并删除了函数调用的 this 参数。我希望这可以帮助你。 (更新:在 jsFiddle 和 here is result 上测试正常)

【讨论】:

    【解决方案2】:

    当您使用 Math.random 生成随机数时,Javascript 会返回一个双精度数。当您将该随机数放入 URL 时,您希望它是一个字符串。尝试将 changeChart 的第一行更改为:

    var rand_no = String(Math.random() * 1000000);
    

    【讨论】:

    • 感谢您的建议。不幸的是,没有运气。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 2021-10-21
    • 2023-03-27
    • 2013-04-05
    • 1970-01-01
    • 2014-02-03
    相关资源
    最近更新 更多