0

ヤフーグラフの埋め込みコードを表示するスクリプトを作ろうとしています

埋め込みスクリプトは

<embed bgcolor="#dbdbd3" flashvars="lcId=1169793726234&amp;state=symbol%3D^nsebank;range=1d;indicator=ema(13,34,55)+macd+rsi+stochasticfast;charttype=candlestick;crosshair=on;ohlcvalues=0;logscale=on;source=undefined" loop="false" menu="false" name="BANKNIFTY" pluginspage="http://www.macromedia.com/go/getflashplayer" src="http://us.js2.yimg.com/us.yimg.com/i/us/fi/yfc/swf/flashchart_1.18.swf" style="height: 775px; width: 550px" type="application/x-shockwave-flash" wmode="opaque"></embed>

このスクリプトでは、state=symbol=^nsebank (^nsebank) の値をドロップダウン メニュー リストから取得し、計算ボタンをクリックすると、埋め込みコードが表示されます。

私は次のようにコードを書きました -

<div id="looknorth"></div>
<script type="text/javascript">
function ln(){
D11=parseFloat(D1.value);
document.getElementById('looknorth').innerHTML='<embed bgcolor="#dbdbd3" flashvars="lcId=1169793726234&amp;state=symbol%3D"+D11+";range=1d;indicator=ema(13,34,55)+macd+rsi+stochasticfast;charttype=candlestick;crosshair=on;ohlcvalues=0;logscale=on;source=undefined" loop="false" menu="false" name="BANKNIFTY" pluginspage="http://www.macromedia.com/go/getflashplayer" src="http://us.js2.yimg.com/us.yimg.com/i/us/fi/yfc/swf/flashchart_1.18.swf" style="height: 775px; width: 550px" type="application/x-shockwave-flash" wmode="opaque"></embed>';} </script>
<table border=1 cellpadding=2 cellspacing=1  width="400">
<tr>
<td style="background-color:#123742; font-size:12 ; font-weight:bold">
<font color="#FFFFFF">Compounding</font>
<td>&nbsp;<br />
<select name="D1">
<option value="^nsei">Annually</option>
<option value="^bsen">Half Yearly</option>
</select>
<tr>
<td colspan="2" ALIGN="center">
<input type=button style="background-color:#123742; color:#FFFFFF; font-weight:bold; font-size:15" name=calculate value=Calculate onClick=ln();>
</table>

スクリプトが機能していません。エラーの修正にご協力ください。

4

3 に答える 3

0
<div id="looknorth"></div>
<script type="text/javascript">
function ln(){
    D1 = document.getElementsByName("D1")[0]
    D11=parseFloat(D1.value);
    document.getElementById('looknorth').innerHTML='<embed bgcolor="#dbdbd3" flashvars="lcId=1169793726234&amp;state=symbol%3D'+D11+';range=1d;indicator=ema(13,34,55)+macd+rsi+stochasticfast;charttype=candlestick;crosshair=on;ohlcvalues=0;logscale=on;source=undefined" loop="false" menu="false" name="BANKNIFTY" pluginspage="http://www.macromedia.com/go/getflashplayer" src="http://us.js2.yimg.com/us.yimg.com/i/us/fi/yfc/swf/flashchart_1.18.swf" style="height: 775px; width: 550px" type="application/x-shockwave-flash" wmode="opaque"></embed>';
}
</script>
<table border=1 cellpadding=2 cellspacing=1  width="400">
<tr>
<td style="background-color:#123742; font-size:12 ; font-weight:bold">
<font color="#FFFFFF">Compounding</font>
<td>&nbsp;<br />
<select name="D1">
<option value="^nsei">Annually</option>
<option value="^bsen">Half Yearly</option>
</select>
<tr>
<td colspan="2" ALIGN="center">
<input type=button style="background-color:#123742; color:#FFFFFF; font-weight:bold; font-size:15" name="calculate" value="Calculate" onClick='ln()'>

</p>

innerHTML 行の周りに引用符の不一致がありました。同様に、JavaScript で D1 が何であるかを定義したことがないため、D1.value を要求したときに、何を望んでいるのかわかりませんでした。

于 2012-05-28T18:10:23.570 に答える
0
于 2012-05-28T18:38:28.253 に答える
0

コードにはいくつかの問題があります。

  1. JS は、定義しない限り、D1が HTML 選択コントロールの名前であることを認識しません。
  2. looknorthの内部 html を設定する際の一重引用符と二重引用符の不適切な使用。
  3. parseFloatは数値を含む文字列を想定していますが、たとえば^nseiを渡しますが、これは無効です。

JS 関数を次のように置き換えます。

function ln(){
    var D1 = document.getElementsByTagName("D1")[0];
    var D11 = D1.value;
    var lknorth = document.getElementById('looknorth');
    lknorth.innerHTML= '<embed bgcolor="#dbdbd3" flashvars="lcId=1169793726234&amp;state=symbol%3D' + D11 + ';range=1d;indicator=ema(13,34,55)+macd+rsi+stochasticfast;charttype=candlestick;crosshair=on;ohlcvalues=0;logscale=on;source=undefined" loop="false" menu="false" name="BANKNIFTY" pluginspage="http://www.macromedia.com/go/getflashplayer" src="http://us.js2.yimg.com/us.yimg.com/i/us/fi/yfc/swf/flashchart_1.18.swf" style="height: 775px; width: 550px" type="application/x-shockwave-flash" wmode="opaque"></embed>';
}
于 2012-05-28T18:46:48.357 に答える