JavaScript로 검색하고 있습니다. 양식을 사용하지만 내 페이지에서 다른 것을 엉망으로 만듭니다. 이 입력 텍스트 필드가 있습니다.
<input name="searchTxt" type="text" maxlength="512" id="searchTxt" class="searchField"/>
그리고 이것은 내 JavaScript 코드입니다.
<script type="text/javascript">
function searchURL(){
window.location = "http://www.myurl.com/search/" + (input text value);
}
</script>
텍스트 필드의 값을 JavaScript로 가져 오려면 어떻게합니까?
답변
입력 요소를 양식 요소 안에 래핑하지 않고 입력 텍스트 상자 값을 직접 얻는 다양한 방법이 있습니다.
방법 1 :
document.getElementById('textbox_id').value
원하는 상자의 가치를 얻기 위해예를 들어
document.getElementById("searchTxt").value;
참고 : 메소드 2,3,4 및 6은 요소 콜렉션을 리턴하므로 [whole_number]를 사용하여 원하는 발생을 얻으십시오. 첫번째 요소의 사용 [0], 두 번째 용도 1 등 …
방법 2 :
document.getElementsByClassName('class_name')[whole_number].value
라이브 HTMLCollection을 반환하는 사용예를 들어
document.getElementsByClassName("searchField")[0].value;
이것이 페이지의 첫 번째 텍스트 상자 인 경우입니다.
방법 3 :
document.getElementsByTagName('tag_name')[whole_number].value
라이브 HTMLCollection도 반환하는 사용예를 들어,
document.getElementsByTagName("input")[0].value;
이것이 페이지의 첫 번째 텍스트 상자 인 경우입니다.
방법 4 :
document.getElementsByName('name')[whole_number].value
또한 라이브 NodeList를 반환합니다.예를 들어,
document.getElementsByName("searchTxt")[0].value;
이것이 페이지에서 이름이 ‘searchtext’인 첫 번째 텍스트 상자 인 경우입니다.
방법 5 :
document.querySelector('selector').value
CSS 선택기를 사용하여 요소를 선택 하는 강력한 기능 을 사용하십시오.예를 들어, 이름으로 선택한 태그 이름으로 선택한 클래스로 선택한
document.querySelector('#searchTxt').value;
ID로
document.querySelector('.searchField').value;
선택
document.querySelector('input').value;
document.querySelector('[name="searchTxt"]').value;
방법 6 :
document.querySelectorAll('selector')[whole_number].value
CSS 선택기를 사용하여 요소를 선택하지만 해당 선택기를 가진 모든 요소를 정적 노드 목록으로 반환합니다.예를 들어, 이름으로 선택한 태그 이름으로 선택한 클래스로 선택한
document.querySelectorAll('#searchTxt')[0].value;
ID로
document.querySelectorAll('.searchField')[0].value;
선택
document.querySelectorAll('input')[0].value;
document.querySelectorAll('[name="searchTxt"]')[0].value;
지원하다
Browser Method1 Method2 Method3 Method4 Method5/6
IE6 Y(Buggy) N Y Y(Buggy) N
IE7 Y(Buggy) N Y Y(Buggy) N
IE8 Y N Y Y(Buggy) Y
IE9 Y Y Y Y(Buggy) Y
IE10 Y Y Y Y Y
FF3.0 Y Y Y Y N IE=Internet Explorer
FF3.5/FF3.6 Y Y Y Y Y FF=Mozilla Firefox
FF4b1 Y Y Y Y Y GC=Google Chrome
GC4/GC5 Y Y Y Y Y Y=YES,N=NO
Safari4/Safari5 Y Y Y Y Y
Opera10.10/
Opera10.53/ Y Y Y Y(Buggy) Y
Opera10.60
Opera 12 Y Y Y Y Y
유용한 링크
답변
//creates a listener for when you press a key
window.onkeyup = keyup;
//creates a global Javascript variable
var inputTextValue;
function keyup(e) {
//setting your input text to the global Javascript Variable for every key press
inputTextValue = e.target.value;
//listens for you to press the ENTER key, at which point your web address will change to the one you have input in the search box
if (e.keyCode == 13) {
window.location = "http://www.myurl.com/search/" + inputTextValue;
}
}
답변
다음과 같이 입력을 저장할 변수를 만듭니다.
var input = document.getElementById("input_id").value;
그런 다음 변수를 사용하여 입력 값을 문자열에 추가합니다.
= "Your string" + input;
답변
다음을 입력 할 수 있어야합니다.
var input = document.getElementById("searchTxt");
function searchURL() {
window.location = "http://www.myurl.com/search/" + input.value;
}
<input name="searchTxt" type="text" maxlength="512" id="searchTxt" class="searchField"/>
더 좋은 방법이 있다고 확신하지만 모든 브라우저에서 작동하는 것으로 보이며 JavaScript를 작성, 개선 및 편집하려면 최소한의 이해가 필요합니다.
답변
또한 다음과 같이 태그 이름으로 호출 할 수 있습니다. form_name.input_name.value;
따라서 특정 형식으로 결정된 입력의 특정 값을 갖게됩니다.
답변
이거 한번 해봐
<input type="text" onkeyup="trackChange(this.value)" id="myInput">
<script>
function trackChange(value) {
window.open("http://www.google.com/search?output=search&q=" + value)
}
</script>
답변
Chrome 및 Firefox에서 테스트되었습니다.
요소 ID별로 가치를 얻으십시오.
<input type="text" maxlength="512" id="searchTxt" class="searchField"/>
<input type="button" value="Get Value" onclick="alert(searchTxt.value)">
양식 요소에서 값을 설정하십시오.
<form name="calc" id="calculator">
<input type="text" name="input">
<input type="button" value="Set Value" onclick="calc.input.value='Set Value'">
</form>
https://jsfiddle.net/tuq79821/
또한 자바 스크립트 계산기 구현을 살펴보십시오 : http://www.4stud.info/web-programming/samples/dhtml-calculator.html
@ bugwheels94에서 업데이트 :이 방법을 사용할 때이 문제를 알고 있어야 합니다.