Как я могу писать новые строки в кадре в том же окне? На данный момент у меня есть создание нового окна с window.open. Но теперь мне это нужно в кадре.
У меня есть html с двумя кадрами (форма и результат), и мне нужно записать во втором, нажав кнопку на первом кадре.
HTML
<html>
<head>
<title> Create Curriculum</title>
<meta charset="UTF-8"/>
</head>
<frameset rows="50%,50%">
<frame id="form" src="from.html"/>
<frame id="curri" src=""/>
</frameset>
Вы intercat с формой, добавляющей информацию к входам и сохраняющей информацию. Там также кнопка, которая генерирует учебную программу, используя информацию, введенную ниже.
JAVASCRIPT:
function genCurriculum() {
//I want to capture the second frame with id "curri"
var curri = parent.document.getElementById("curri");
curri.document.writeln("<h2>Head of the curriculum...</h2>");
//The others writeln for creating the curriculum
}
Я хочу знать, как писать в кадре, а не в новом окне.
И НЕ используя Jquery
, просто чистый JavaScript
. (Требование учителя)
Является ли это jsfiddle тем, что вы хотите?
Html:
<form>
<input name="nextLine" type="text" />
<button type="button">
<span>Add a line</span>
</button>
</form>
<iframe height="100" width="200"></iframe>
JavaScript:
(function () {
'use strict';
var button, iframe, input;
function addLine (cD, input, val) {
return function () {
var body, line;
body = cD.getElementsByTagName('body')[0]
line = cD.createElement('p');
line.innerText = val.toString() + ': ' + input.value;
body.appendChild(line);
val += 1;
}
}
button = document.getElementsByTagName('button')[0];
iframe = document.getElementsByTagName('iframe')[0];
input = document.getElementsByTagName('input')[0];
button.addEventListener('click', addLine(iframe.contentDocument, input, 0), true);
}());