无法在Javascript html中按下按钮单击功能

时间:2017-01-06 11:49:50

标签: javascript html

我有下面的代码,我需要点击按钮调用功能。但它并不是在调用那些功能。以下代码有什么问题。

<!DOCTYPE html>
<html>
<body>

<input type="button" value="Copy Parent Text" id="CopyParent"  onclick="getRate("SEK", "USD")">
<input type="button" value="Copy Child Text" id="CopyChild"  onclick="getRate("USD", "SEK")">


<script type="text/javascript">

  function getRate(from, to) {
  alert("1");
    var script = document.createElement('script');
    script.setAttribute('src', "http://query.yahooapis.com/v1/public/yql?q=select%20rate%2Cname%20from%20csv%20where%20url%3D'http%3A%2F%2Fdownload.finance.yahoo.com%2Fd%2Fquotes%3Fs%3D"+from+to+"%253DX%26f%3Dl1n'%20and%20columns%3D'rate%2Cname'&format=json&callback=parseExchangeRate");
    document.body.appendChild(script);
  }

  function parseExchangeRate(data) {
    var name = data.query.results.row.name;
    var rate = parseFloat(data.query.results.row.rate, 10);
    alert("Exchange rate " + name + " is " + rate);
  }

</script>

</body>
</html>

请帮我解决这个问题。

4 个答案:

答案 0 :(得分:1)

您遇到语法错误,因为您在双引号中包含双引号。如果您在单击按钮时查看浏览器的控制台,它将显示错误。

您可以像这样更改HTML以解决它:

<input type="button" value="Copy Parent Text" id="CopyParent"  onclick="getRate('SEK', 'USD')">
<input type="button" value="Copy Child Text" id="CopyChild"  onclick="getRate('USD', 'SEK')">

答案 1 :(得分:0)

您已在双quot quote内添加了双"getRate("USD", "SEK")"。只需改变你的html如下:

<input type="button" value="Copy Parent Text" id="CopyParent"  onclick='getRate("SEK", "USD")'>
<input type="button" value="Copy Child Text" id="CopyChild"  onclick='getRate("USD", "SEK")'>

答案 2 :(得分:0)

简单的错误&#34; getRate(&#39; SEK&#39;,&#39; USD&#39;)&#34;和&#34; getRate(&#39; USD&#39;,&#39; SEK&#39;)&#34;

&#13;
&#13;
<!DOCTYPE html>
<html>
<body>

<input type="button" value="Copy Parent Text" id="CopyParent"  onclick="getRate('SEK', 'USD')">
<input type="button" value="Copy Child Text" id="CopyChild"  onclick="getRate('USD', 'SEK')">


<script type="text/javascript">

  function getRate(from, to) {
  alert("1");
    var script = document.createElement('script');
    script.setAttribute('src', "http://query.yahooapis.com/v1/public/yql?q=select%20rate%2Cname%20from%20csv%20where%20url%3D'http%3A%2F%2Fdownload.finance.yahoo.com%2Fd%2Fquotes%3Fs%3D"+from+to+"%253DX%26f%3Dl1n'%20and%20columns%3D'rate%2Cname'&format=json&callback=parseExchangeRate");
    document.body.appendChild(script);
  }

  function parseExchangeRate(data) {
    var name = data.query.results.row.name;
    var rate = parseFloat(data.query.results.row.rate, 10);
    alert("Exchange rate " + name + " is " + rate);
  }

</script>

</body>
</html>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

查看使用onclick功能的文档。如果您正在使用onclick

,则必须指定参数的单引号
<input type="button" value="Copy Parent Text" id="CopyParent"  onclick="getRate('SEK', 'USD')">
<input type="button" value="Copy Child Text" id="CopyChild"  onclick="getRate('USD', 'SEK')">