Textarea 在 .reset() 上给出数字 0
Textarea gives number 0 on .reset()
我创建了一个带有 texareas 的表单,它以另一个禁用 texareas 的表单显示 texarea 的输入。我创建了一个函数,可以克隆这两种形式,并在单击按钮时在两种形式上添加 .reset()
。
我遇到一个问题,显示输出的表单(禁用的文本区域)显示 0 而不是在第一个表单正确重置时被清除。我不知道问题出在哪里,所以我希望得到一些帮助。
我的代码如下:
/* Print funksjon for år */
var inputBox = document.getElementById('input-år');
inputBox.onkeyup = function(){
document.getElementById('output-år').innerHTML = inputBox.value*2;
var val = document.getElementById('input-år').value
document.getElementById('output-år').value = val;
}
/* Print funksjon for skole */
var inputBox = document.getElementById('input-skole');
inputBox.onkeyup = function(){
document.getElementById('output-skole').innerHTML = inputBox.value*2;
var val = document.getElementById('input-skole').value
document.getElementById('output-skole').value = val;
}
/* Print funksjon for fag */
var inputBox = document.getElementById('input-fag');
inputBox.onkeyup = function(){
document.getElementById('output-fag').innerHTML = inputBox.value*2;
var val = document.getElementById('input-fag').value
document.getElementById('output-fag').value = val;
}
function appendUtdanning() {
let formUtdanning = document.querySelector('#reset-utdanning');
let clonedFormUtdanning = formUtdanning.cloneNode(true);
clonedFormUtdanning.id = 'formUtdanning-kopi';
var utdanningNy = document.body.appendChild(clonedFormUtdanning);
document.getElementById("motta-utdanning").appendChild(utdanningNy);
document.getElementById("reset-utdanning").reset();
}
function appendUtdanningHøyre() {
let formUtdanningHøyre = document.querySelector('#copy-høyre');
let clonedFormUtdanningHøyre = formUtdanningHøyre.cloneNode(true);
clonedFormUtdanningHøyre.id = 'formUtdanningHøyre-kopi';
var utdanningNyHøyre = document.body.appendChild(clonedFormUtdanningHøyre);
document.getElementById("motta-utdanningHøyre").appendChild(utdanningNyHøyre);
document.getElementById("copy-høyre").reset();
}
/* Prevent page from reloading on click for utdanning */
document.getElementById("appendUtdanningknapp").addEventListener("click", function(event){
event.preventDefault()
});
<div id="copy-utdanning">
<form id="reset-utdanning" class="venstre-form">
<div class="utdanning">
<table id="duplisere-utdanning">
<h4 class="h4-venstre">Utdanning</h4>
<tr>
<textarea type='text' rows="1" maxlength="50" id='input-år' class="venstre-input" placeholder="År"></textarea>
</tr>
<tr>
<textarea type='text' rows="1" maxlength="50" id='input-skole' class="venstre-input" placeholder="Skole"></textarea>
</tr>
<tr>
<textarea type='text' rows="1" maxlength="50" id='input-fag' class="venstre-input" placeholder="Fag"></textarea>
</tr>
</table>
</div>
</form>
</div>
<div>
<button id="appendUtdanningknapp" onclick="appendUtdanning(); appendUtdanningHøyre();">Legg til utdanning</button>
</div>
<div id="motta-utdanning">
</div>
<div>
<div class="output-posisjon">
<div id="copy-utdanningHøyre">
<form id="copy-høyre">
<table id="" class="">
<tbody>
<tr>
<th>Utdanning</th>
</tr>
<tr>
<td><textarea class="textarea-høyre" type='text' id='output-år' disabled></textarea></td>
<td><textarea class="textarea-høyre" type='text' id='output-skole' disabled></textarea></td>
</tr>
</tbody>
<tbody>
<tr>
<td><textarea colspan="2" class="textarea-høyre" type='text' id='output-fag' disabled></textarea></td>
</tr>
</tbody>
</table>
</form>
</div>
<div id="motta-utdanningHøyre">
</div>
</div>
</div>
参见此处示例:jsfiddle
就我个人而言,我只会调用一个函数来提交数据,然后在您复制禁用的字段后,重置表单并将输出字段设置为空。
在你的 appendUtdanningHøyre() 函数中有这样的东西。
document.getElementById("output-år").value = '';
...
document.getElementById("reset-utdanning").reset();
我创建了一个带有 texareas 的表单,它以另一个禁用 texareas 的表单显示 texarea 的输入。我创建了一个函数,可以克隆这两种形式,并在单击按钮时在两种形式上添加 .reset()
。
我遇到一个问题,显示输出的表单(禁用的文本区域)显示 0 而不是在第一个表单正确重置时被清除。我不知道问题出在哪里,所以我希望得到一些帮助。
我的代码如下:
/* Print funksjon for år */
var inputBox = document.getElementById('input-år');
inputBox.onkeyup = function(){
document.getElementById('output-år').innerHTML = inputBox.value*2;
var val = document.getElementById('input-år').value
document.getElementById('output-år').value = val;
}
/* Print funksjon for skole */
var inputBox = document.getElementById('input-skole');
inputBox.onkeyup = function(){
document.getElementById('output-skole').innerHTML = inputBox.value*2;
var val = document.getElementById('input-skole').value
document.getElementById('output-skole').value = val;
}
/* Print funksjon for fag */
var inputBox = document.getElementById('input-fag');
inputBox.onkeyup = function(){
document.getElementById('output-fag').innerHTML = inputBox.value*2;
var val = document.getElementById('input-fag').value
document.getElementById('output-fag').value = val;
}
function appendUtdanning() {
let formUtdanning = document.querySelector('#reset-utdanning');
let clonedFormUtdanning = formUtdanning.cloneNode(true);
clonedFormUtdanning.id = 'formUtdanning-kopi';
var utdanningNy = document.body.appendChild(clonedFormUtdanning);
document.getElementById("motta-utdanning").appendChild(utdanningNy);
document.getElementById("reset-utdanning").reset();
}
function appendUtdanningHøyre() {
let formUtdanningHøyre = document.querySelector('#copy-høyre');
let clonedFormUtdanningHøyre = formUtdanningHøyre.cloneNode(true);
clonedFormUtdanningHøyre.id = 'formUtdanningHøyre-kopi';
var utdanningNyHøyre = document.body.appendChild(clonedFormUtdanningHøyre);
document.getElementById("motta-utdanningHøyre").appendChild(utdanningNyHøyre);
document.getElementById("copy-høyre").reset();
}
/* Prevent page from reloading on click for utdanning */
document.getElementById("appendUtdanningknapp").addEventListener("click", function(event){
event.preventDefault()
});
<div id="copy-utdanning">
<form id="reset-utdanning" class="venstre-form">
<div class="utdanning">
<table id="duplisere-utdanning">
<h4 class="h4-venstre">Utdanning</h4>
<tr>
<textarea type='text' rows="1" maxlength="50" id='input-år' class="venstre-input" placeholder="År"></textarea>
</tr>
<tr>
<textarea type='text' rows="1" maxlength="50" id='input-skole' class="venstre-input" placeholder="Skole"></textarea>
</tr>
<tr>
<textarea type='text' rows="1" maxlength="50" id='input-fag' class="venstre-input" placeholder="Fag"></textarea>
</tr>
</table>
</div>
</form>
</div>
<div>
<button id="appendUtdanningknapp" onclick="appendUtdanning(); appendUtdanningHøyre();">Legg til utdanning</button>
</div>
<div id="motta-utdanning">
</div>
<div>
<div class="output-posisjon">
<div id="copy-utdanningHøyre">
<form id="copy-høyre">
<table id="" class="">
<tbody>
<tr>
<th>Utdanning</th>
</tr>
<tr>
<td><textarea class="textarea-høyre" type='text' id='output-år' disabled></textarea></td>
<td><textarea class="textarea-høyre" type='text' id='output-skole' disabled></textarea></td>
</tr>
</tbody>
<tbody>
<tr>
<td><textarea colspan="2" class="textarea-høyre" type='text' id='output-fag' disabled></textarea></td>
</tr>
</tbody>
</table>
</form>
</div>
<div id="motta-utdanningHøyre">
</div>
</div>
</div>
参见此处示例:jsfiddle
就我个人而言,我只会调用一个函数来提交数据,然后在您复制禁用的字段后,重置表单并将输出字段设置为空。
在你的 appendUtdanningHøyre() 函数中有这样的东西。
document.getElementById("output-år").value = '';
...
document.getElementById("reset-utdanning").reset();