2011-04-16 177 views
0

我有一个简单的HTML页面,它有一个文本框,一个按钮和一个div。 我想让用户在字段中输入股票代码。当他们推送提交按钮时,图形的图像将显示在div内。在URL末尾添加文本输入

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

为了得到一个图表,一个paticular符号,我需要补充的符号,“&”,和一个大的随机数。这是一个工作示例

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

+1

我可以看到图表用简单:http://ichart.finance.yahoo.com/w?s=YHOO – 2011-04-16 23:10:39

+0

真。我删除了&和它工作的随机数字! – gumby 2011-04-16 23:54:09

+0

那现在解决了吗? :) – 2011-04-16 23:57:47

回答

0

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

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

感谢您的建议。不幸的是,没有运气。 – gumby 2011-04-16 23:48:30

1

我检查只是一些分钟前,似乎没有必要对URL的&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测试OK)