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