[javascript] JavaScript에서 텍스트 상자 값을 얻는 방법

HTML 텍스트 상자에서 값을 가져 오기 위해 JavaScript를 사용하려고하는데 공백 뒤에 값이 나오지 않습니다.

예를 들면 :

<input type="text" name="txtJob" value="software engineer">

위의 “소프트웨어”만 얻습니다. 다음과 같은 스크립트를 사용하고 있습니다.

var jobValue = document.getElementById('txtJob').value

“소프트웨어 엔지니어”라는 완전한 가치를 얻으려면 어떻게해야합니까?



답변

+1 Gumbo : ‘id’는 페이지 요소에 액세스하는 가장 쉬운 방법입니다. IE (8 이전 버전)는 주어진 ID로 아무것도 찾을 수없는 경우 ‘이름’과 일치하는 항목을 반환하지만 이는 버그입니다.

나는 “소프트웨어”만을 얻고있다.

id-vs-name은 이에 영향을주지 않습니다. 나는 무슨 일이 일어 났는지 (예제 코드와는 반대로) ‘value’속성을 인용하는 것을 잊었다 고 생각합니다.

<input type="text" name="txtJob" value=software engineer>


답변

요소에는 ID가 아니라 이름 만 있습니다. 따라서 getElementsByName()메서드를 사용 하여 다음 이름을 가진 모든 요소의 목록을 가져올 수 있습니다 .

var jobValue = document.getElementsByName('txtJob')[0].value  // first element in DOM  (index 0) with name="txtJob"

또는 요소에 ID를 할당합니다.

<input type="text" name="txtJob" id="txtJob" value="software engineer">


답변

var word = document.getElementById("word").value;//by id
or
var word = document.forms[0].elements[0].value;//by index
//word = a word from form input
var kodlandi = escape(word);//apply url encoding

alert(escape(word));
or
alert(kodlandi);

양식의 입력 값에 인코딩을 사용하지 않는 문제이므로 브라우저가 값을 추가하지 않습니다.

ontop은 유니 코드 인코딩 / 디코딩 작업으로 몇 가지 문제가 있으므로 문자열 / 배열을 인코딩하는이 함수를 사용하십시오.

function urlencode( str )
{
// http://kevin.vanzonneveld.net3.    
// +   original by: Philip Peterson4.    
// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)5.    
// *     example 1: urlencode('Kevin van Zonneveld!');
// *     returns 1: 'Kevin+van+Zonneveld%21'7. 
   var ret = str;
   ret = ret.toString();
   ret = encodeURIComponent(ret);
   ret = ret.replace(/%20/g, '+');
   return ret;
}


ex.
var word = "some word";
word = urlencode(word);


답변

<!DOCTYPE html>
<html>
<body>
<label>Enter your Name here: </label><br>
<input type= text id="namehere" onchange="displayname()"><br>


<script>
function displayname() {
    document.getElementById("demo").innerHTML =
document.getElementById("namehere").value;
}

</script>


<p id="demo"></p>

</body>
</html> 


답변

세트 id의 속성 input에를 txtJob. 을 (를) 호출하면 브라우저가 이상하게 작동합니다 getElementById.


답변

ASP.NET을 사용하는 경우 아래 예제의 서버 측 코드 태그는 마스터 페이지를 사용하는 경우에도 정확한 제어 ID를 제공합니다.

자바 스크립트 :

document.getElementById("<%=MyControlName.ClientID%>").value;

JQuery :

$("#<%= MyControlName.ClientID %>").val();


답변

양식에 있으면 다음과 같습니다.

<form name="jojo">
<input name="jobtitle">
</form>

그런 다음 자바 스크립트로 말할 것입니다.

var val= document.jojo.jobtitle.value

document.formname.elementname