私はJSを学んでいますが、内部の仕組みにはまだ慣れていません。誰かが私の考えの誤りを指摘できますか?
基本的な考え方は、複雑な質問をし、JS を使用して (CSV 構文に) 回答を作成し、それをテキスト ボックスに入力することです。(ここから db に処理されます。) 以下に含まれる例: 子供は何人いますか? 彼らの名前と年齢は?
おそらく、最初のボタンによって生成された新しい要素がドキュメントに追加されていませんか? これを行う方法、またはその値に対処する方法は?
新しい行を追加する場合に、前の行に送信された値を保持するにはどうすればよいですか。たとえば'Jack'
、'10'
最初の行に書き込まれ、ユーザーが新しい行の追加を押した場合、この情報は最初の行にとどまる必要があります。
正しく動作しない例: ループ内のコードが追加されると、保存ボタンが機能しなくなります。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
</head>
<body>
<p>How many children do you have? What is their names and age?</p>
<input type="text" id="qchildren" />
<div id="qchildren-answer-wrapper"></div>
<button type="button" onclick="addNew()">Add new entry</button>
<button type="button" onclick="save()">Save</button>
<script>
var lines = 0;
function addNew() {
lines++;
document.getElementById("qchildren-answer-wrapper").innerHTML += 'Gyermek neve:<input type="text" id="qchildrenname' + window.lines + '" /> Gyermek eletkora:<input type="text" id="qchildrenage' + window.lines + '" /><br/>';
}
function save() {
var answer = '';
for (var ii = 0; ii < window.lines; ii++) {
answer += document.getElementById('qchildrenname' + ii.toString()).value.toString() + ',' + document.getElementById('qchildrenage' + ii.toString()).value.toString() + ';';
}
document.getElementById("qchildren").value = answer;
}
< /script>
</body>
</html>