2011-04-16 224 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)