在URL末尾添加文本输入

时间:2011-04-16 23:08:29

标签: javascript html href add

我有一个简单的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

2 个答案:

答案 0 :(得分:1)

我几分钟前检查过,似乎不需要&1234567890 - 就像网址的一部分一样,所以我要更改代码才能得到这个:

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>

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

答案 1 :(得分:0)

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

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