[javascript] JavaScript를 사용하여 텍스트 입력 필드의 값을 얻으려면 어떻게합니까?

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').valueCSS 선택기를 사용하여 요소를 선택 하는 강력한 기능 을 사용하십시오.

예를 들어, 이름으로 선택한 태그 이름으로 선택한 클래스로 선택한 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

유용한 링크

  1. 자세한 내용을 포함한 모든 버그에 대해 이러한 방법의 지원을 보려면 여기를 클릭하십시오.
  2. 정적 컬렉션과 라이브 컬렉션의 차이점 여기를 클릭하십시오.
  3. NodeList와 HTMLCollection의 차이점 여기를 클릭하십시오

답변

//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에서 업데이트 :이 방법을 사용할 때이 문제를 알고 있어야 합니다.