만드는 방법 동적으로
웹 양식에 동적으로 입력 유형 텍스트를 만들고 싶습니다. 보다 구체적으로, 사용자가 원하는 텍스트 필드 수를 입력하는 텍스트 필드가 있습니다. 텍스트 필드가 동일한 형식으로 동적으로 생성되기를 원합니다.
어떻게하나요?
JavaScript 사용 :
var input = document.createElement("input");
input.type = "text";
input.className = "css-class-name"; // set the CSS class
container.appendChild(input); // put it into the DOM
Javascript를 사용하면 document.createElement
및 setAttribute
.
var input = document.createElement("input");
input.setAttribute('type', 'text');
그런 appendChild
다음를 사용 하여 생성 된 요소를 원하는 상위 요소에 추가 할 수 있습니다 .
var parent = document.getElementById("parentDiv");
parent.appendChild(input);
아마도 그 방법 document.createElement();
은 당신이 찾고있는 것입니다.
입력 한 텍스트 필드의 수에 따라 루프에서 이와 같은 작업을 수행 할 수 있습니다.
$('<input/>').attr({type:'text',name:'text'+i}).appendTo('#myform');
그러나 더 나은 성능을 위해 먼저 모든 html을 만들고 DOM에 한 번만 삽입합니다.
var count = 20;
var html = [];
while(count--) {
html.push("<input type='text' name='name", count, "'>");
}
$('#myform').append(html.join(''));
이 예제를 편집 하려면 jQuery를 사용하여 html을 추가하지만 innerHTML도 사용하도록 쉽게 수정할 수 있습니다.
createElement()
해당 텍스트 상자를 만드는 방법을 사용할 수 있습니다.
다음 링크가 도움이 될 것이라고 생각합니다. 필드를 동적으로 생성하고 동시에 제거하려는 경우 여기에서 도움을받을 수 있습니다. 같은 질문이있어서 답을 얻었습니다
$(function() {
var scntDiv = $('#p_scents');
var i = $('#p_scents p').size() + 1;
$('#addScnt').live('click', function() {
$('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
i++;
return false;
});
$('#remScnt').live('click', function() {
if( i > 2 ) {
$(this).parents('p').remove();
i--;
}
return false;
});
});
http://jsfiddle.net/jaredwilli/tZPg4/4/
비 JQuery 솔루션에 대해서는이 답변을 참조하십시오. 그냥 도와 줬어요!
여기 내 해결책이 있습니다.
function fun() {
/*getting the number of text field*/
var no = document.getElementById("idname").value;
/*text fields to be generated dynamically in the same form*/
for(var i=0;i<no;i++)
{
var textfield = document.createElement("input");
textfield.type = "text";
textfield.id = "idname4textfeild";
textfield.setAttribute("value","");
document.getElementById('form').appendChild(textfield);
}
}
<form id="form">
<input type="type" id="idname" oninput="fun()" value="">
</form>
ES6를 사용할 수 있습니다.
var inputs = [
`<input type='checkbox' id='chbox0' onclick='checkboxChecked(this);'> <input type='text' class='noteinputs0'id='note` + 0 + `' placeholder='task0'><button id='notebtn0' >creat</button>`, `<input type='text' class='noteinputs' id='note` + 1 + `' placeholder='task1'><button class='notebuttons' id='notebtn1' >creat</button>`, `<input type='text' class='noteinputs' id='note` + 2 + `' placeholder='task2'><button class='notebuttons' id='notebtn2' >creat</button>`, `<input type='text' class='noteinputs' id='note` + 3 + `' placeholder='task3'><button class='notebuttons' id='notebtn3' >creat</button>`, `<input type='text' class='noteinputs' id='note` + 4 + `' placeholder='task4'><button class='notebuttons' id='notebtn4' >creat</button>`, `<input type='text' class='noteinputs' id='note` + 5 + `' placeholder='task5'><button class='notebuttons' id='notebtn5' >creat</button>`, `<input type='text' class='noteinputs' id='note` + 6 + `' placeholder='task6'><button class='notebuttons' id='notebtn6' >creat</button>`, `<input type='text' class='noteinputs' id='note` + 7 + `' placeholder='task7'><button class='notebuttons' id='notebtn7' >creat</button>`, `<input type='text' class='noteinputs' id='note` + 8 + `' placeholder='task8'><button class='notebuttons' id='notebtn8' >creat</button>`, `<input type='text' class='noteinputs' id='note` + 9 + `' placeholder='task9'><button class='notebuttons' id='notebtn9' >creat</button>`
].sort().join(" ");
document.querySelector('#hi').innerHTML += `<br>` +inputs;
<div id="hi"></div>
참고 URL : https://stackoverflow.com/questions/5656392/how-to-create-input-type-text-dynamically
'Nice programing' 카테고리의 다른 글
Xamarin에서 OutOfMemoryException 가져 오기 (0) | 2020.11.03 |
---|---|
Xcode 8로 업데이트 한 후 오류 : "해당 모듈 없음"및 "대상이 ʻEMBEDDED_CONTENT_CONTAINS_SWIFT` 빌드 설정을 재정의합니다" (0) | 2020.11.03 |
SQL 다중 결합 문 (0) | 2020.11.03 |
아이콘을 유지하면서 뒤로 버튼에서 텍스트 제거 (0) | 2020.11.02 |
PHP Composer가 왜 그렇게 느린가요? (0) | 2020.11.02 |