108

<iframe src=... >誰かがラジオボタンをクリックしたときに変更しようとしています。何らかの理由でコードが正しく機能せず、その理由がわかりません。ここに私が持っているものがあります:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
  <title>Untitled 1</title>

  <script>
  function go(loc) {
    document.getElementById('calendar').src = loc;
  }
  </script>
</head>

<body>
  <iframe id="calendar" src="about:blank" width="1000" height="450" frameborder="0" scrolling="no"></iframe>

  <form method="post">
    <input name="calendarSelection" type="radio" onselect="go('http://calendar.zoho.com/embed/9a6054c98fd2ad4047021cff76fee38773c34a35234fa42d426b9510864356a68cabcad57cbbb1a0?title=Kevin_Calendar&type=1&l=en&tz=America/Los_Angeles&sh=[0,0]&v=1')" />Day
    <input name="calendarSelection" type="radio" onselect="go('http://calendar.zoho.com/embed/9a6054c98fd2ad4047021cff76fee38773c34a35234fa42d426b9510864356a68cabcad57cbbb1a0?title=Kevin_Calendar&type=1&l=en&tz=America/Los_Angeles&sh=[0,0]&v=1')" />Week
    <input name="calendarSelection" type="radio" onselect="go('http://calendar.zoho.com/embed/9a6054c98fd2ad4047021cff76fee38773c34a35234fa42d426b9510864356a68cabcad57cbbb1a0?title=Kevin_Calendar&type=1&l=en&tz=America/Los_Angeles&sh=[0,0]&v=1')" />Month
  </form>

</body>

</html>

4

9 に答える 9

139

この場合、おそらくここで間違ったブラケットを使用していることが原因です。

document.getElementById['calendar'].src = loc;

する必要があります

document.getElementById('calendar').src = loc;
于 2010-09-16T19:43:55.453 に答える
69

多分これは役に立つかもしれません...それはプレーンなhtmlです-javascriptはありません:

<p>Click on link bellow to change iframe content:</p>
<a href="http://www.bing.com" target="search_iframe">Bing</a> -
<a href="http://en.wikipedia.org" target="search_iframe">Wikipedia</a> -
<a href="http://google.com" target="search_iframe">Google</a> (not allowed in inframe)

<iframe src="http://en.wikipedia.org" width="100%" height="100%" name="search_iframe"></iframe>

ところで、一部のサイトでは iframe で開くことができません (セキュリティ上の理由 - クリックジャッキング)。

于 2013-07-11T14:57:19.427 に答える
18

これを行うjQueryの方法は次のとおりです。

$('#calendar').attr('src', loc);
于 2013-12-24T14:50:34.480 に答える
9

onselectなければなりませんonclick。これは、キーボード ユーザーに有効です。

<label>また、「日」「月」「年」のテキストにタグを付けて、クリックしやすくすることをお勧めします。コード例:

<input id="day" name="calendarSelection" type="radio" onclick="go('http://calendar.zoho.com/embed/9a6054c98fd2ad4047021cff76fee38773c34a35234fa42d426b9510864356a68cabcad57cbbb1a0?title=Kevin_Calendar&type=1&l=en&tz=America/Los_Angeles&sh=[0,0]&v=1')"/><label for="day">Day</label>

onclickブラウザで解析できますが、属性と値の間のスペースを削除することもお勧めします。

<input name="calendarSelection" type="radio" onclick = "go('http://calendar.zoho.com/embed/9a6054c98fd2ad4047021cff76fee38773c34a35234fa42d426b9510864356a68cabcad57cbbb1a0?title=Kevin_Calendar&type=1&l=en&tz=America/Los_Angeles&sh=[0,0]&v=1')"/>Day

次のようにする必要があります。

<input name="calendarSelection" type="radio" onclick="go('http://calendar.zoho.com/embed/9a6054c98fd2ad4047021cff76fee38773c34a35234fa42d426b9510864356a68cabcad57cbbb1a0?title=Kevin_Calendar&type=1&l=en&tz=America/Los_Angeles&sh=[0,0]&v=1')"/>Day
于 2010-09-16T19:50:28.650 に答える
1

他の答えはどれも私にとってはうまくいきませんsrcでした。

let calendar = document.getElementById("calendar");
calendar.setAttribute("src", srcstring);

MDN

于 2021-05-07T16:41:55.747 に答える