다음 코드와 함께 jquery를 사용하여 텍스트 영역 필드에 값을 설정하려고합니다.
$("textarea#ExampleMessage").attr("value", result.exampleMessage);
문제는 일단이 코드가 실행되면 텍스트 영역의 텍스트가 변경되지 않습니까?
그러나 alert($("textarea#ExampleMessage").attr("value"))
새로 설정된 값을 수행 할 때 반환됩니까?
다음 코드와 함께 jquery를 사용하여 텍스트 영역 필드에 값을 설정하려고합니다.
$("textarea#ExampleMessage").attr("value", result.exampleMessage);
문제는 일단이 코드가 실행되면 텍스트 영역의 텍스트가 변경되지 않습니까?
그러나 alert($("textarea#ExampleMessage").attr("value"))
새로 설정된 값을 수행 할 때 반환됩니까?
답변:
val을 사용해 보셨습니까?
$("textarea#ExampleMessage").val(result.exampleMessage);
value
속성을하지만 둘 다 있기 때문에, 중요하지 않습니다 val()
및 attr('value')
쓰기 자바 스크립트 값 속성에. 참고 attr()
않습니다 하지 HTML 속성을 설정! 이름이 다른 class / className과 같은 경우에 대한 차이점을 숨기려고하는 동안 JavaScript 속성 만 설정합니다. 그러나 양식 요소에서와 같이 속성 및 속성이 다른 작업을 수행하는 장소의 차이는 여전히 볼 수 있습니다.
val(foo)
나를 위해 일합니다 (jQuery 1.9.1). text(foo)
잃어버린 텍스트 영역 내용을 업데이트 하면 IE의 줄 바꿈이 없어지고 val(foo)
유지됩니다.
$("textarea#ExampleMessage").val()
jquery에서 단지 마술.
당신은주의해야 텍스트 영역 사용하여 태그를 내부 HTML을 표시하고 값 속성에하지를 바로 입력 태그처럼.
<textarea>blah blah</textarea>
<input type="text" value="blah blah"/>
사용해야합니다
$("textarea#ExampleMessage").html(result.exampleMessage)
또는
$("textarea#ExampleMessage").text(result.exampleMessage)
HTML 태그 또는 일반 텍스트로 표시할지 여부에 따라 다릅니다.
안드로이드 .val
와 .html
하지 않았다 작동합니다.
$('#id').text("some value")
일을했다.
나는 똑같은 문제가 있었고이 솔루션은 효과가 없었지만 html을 사용하는 것이 효과가 있었다.
$('#your_textarea_id').html('some_value');
html()
텍스트 영역 당 한 번만 작업하고 있습니다. 다음 번에의 내용을 동적으로 변경하고 싶 textarea
거나 html()
작동하지 않습니다 ...
$('#textarea').val(encodedtext);
문제가 있습니다 : 주어진 div의 포함에서 HTML 코드를 생성해야합니다. 그런 다음이 원시 HTML 코드를 텍스트 영역에 넣어야합니다. $ (textarea) .val () 함수를 다음과 같이 사용할 때 :
$ (textarea) .val ( "<input type = 'text'value = ''style ="background와 같은 일부 html : url ( 'http://www.w.com/bg.gif') repeat-x center; "/> bla bla");
또는
$ ( '# idTxtArGenHtml'). val ($ ( 'idDivMain'). html ());
따옴표 사이에있을 때 특수 문자 (& ' ")에 문제가 있었지만 $ (textarea) .html () 함수를 사용하면 텍스트가 정상입니다.
예제 양식이 있습니다.
<FORM id="idFormContact" name="nFormContact" action="send.php" method="post" >
<FIELDSET id="idFieldContact" class="CMainFieldset">
<LEGEND>Test your newsletter» </LEGEND>
<p>Send to à : <input id='idInpMailList' type='text' value='youremail@gmail.com' /></p>
<FIELDSET class="CChildFieldset">
<LEGEND>Subject</LEGEND>
<LABEL for="idNomClient" class="CInfoLabel">Enter the subject: * </LABEL><BR/>
<INPUT value="" name="nSubject" type="text" id="idSubject" class="CFormInput" alt="Enter the Subject" ><BR/>
</FIELDSET>
<FIELDSET class="CChildFieldset">
<INPUT id="idBtnGen" type="button" value="Generate" onclick="onGenHtml();"/>
<INPUT id="idBtnSend" type="button" value="Send" onclick="onSend();"/><BR/><BR/>
<LEGEND>Message</LEGEND>
<LABEL for="idTxtArGenHtml" class="CInfoLabel">Html code : * </LABEL><BR/>
<span><TEXTAREA name="nTxtArGenHtml" id="idTxtArGenHtml" width='100%' cols="69" rows="300" alt="enter your message" ></TEXTAREA></span>
</FIELDSET>
</FIELDSET>
</FORM>
그리고 텍스트 영역을 채우는 데 작동하지 않는 javascript / jquery 코드는 다음과 같습니다.
function onGenHtml(){
$('#idTxtArGenHtml').html( $("#idDivMain").html() );
}
최종적으로 해결책 :
function onGenHtml(){
$('#idTxtArGenHtml').html( $("#idDivMain").html() );
$('#idTxtArGenHtml').parent().replaceWith( '<span>'+$('#idTxtArGenHtml').parent().html()+'</span>');
}
트릭은 replaceWith 함수를 돕기 위해 텍스트 영역을 span 태그로 감싸는 것입니다. 그것이 깨끗한 지 확실하지 않지만 텍스트 영역에 원시 HTML 코드를 추가하는 것도 완벽합니다.
textarea는 다음과 같이 값을 저장하지 않습니다
<textarea value="someString">
대신 다음 형식으로 값을 저장합니다.
<textarea>someString</textarea>
따라서이 attr("value","someString")
결과를 얻습니다.
<textarea value="someString">someOLDString</textarea>.
시도 $("#textareaid").val()
하거나 $("#textareaid").innerHTML
대신하십시오.
그것은 나를 위해 작동합니다 .... 나는 페이스 북 벽을 만들었습니다 ...
내 코드의 기초는 다음과 같습니다.
// SETS MY TEXT AREA TO EMPTY (NO VALUE)
$('textarea#message_wall').val('');
인코딩 된 HTML의 텍스트 영역 값을 설정하려면 (HTML로 표시) 사용해야합니다. .html( the_var )
하지만 다시 시도하면 설정 한대로 작동하지 않을 수 있습니다.
텍스트 영역을 비운 .empty()
다음 다시 설정 하여이 문제를 해결할 수 있습니다..html( the_var )
작동하는 JSFiddle은 다음과 같습니다. https://jsfiddle.net/w7b1thgw/2/
jQuery(function($){
$('.load_html').click(function(){
var my_var = $(this).data('my_html');
$('#dynamic_html').html( my_var );
});
$('#clear_html').click(function(){
$('#dynamic_html').empty();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<textarea id="dynamic_html"></textarea>
<a id="google_html" class="load_html" href="#" data-my_html="<a href="google.com">google.com</a>">Google HTML</a>
<a id="yahoo_html" class="load_html" href="#" data-my_html="<a href="yahoo.com">yahoo.com</a>">Yahoo HTML</a>
<a id="clear_html" href="#">Clear HTML</a>
.val () 또는 .text () 메서드를 사용하여 값을 설정할 수 있습니다. val ( "hello")와 같이 val () 안에 값을 넣어야합니다.
$(document).ready(function () {
$("#submitbtn").click(function () {
var inputVal = $("#inputText").val();
$("#txtMessage").val(inputVal);
});
});
여기 예를 확인하십시오 : http://www.codegateway.com/2012/03/set-value-to-textarea-jquery.html
텍스트 영역 ID를 다음과 같은 유형으로 사용하십시오.
$("textarea#samplID").val()
중요한 측면이 하나 없다고 생각합니다.
$('#some-text-area').val('test');
ID 선택기 (#)가있는 경우에만 작동
클래스 선택기의 경우 다음과 같은 기본 값을 사용하는 옵션이 있습니다.
$('.some-text-area')[0].value = 'test';
허용 된 답변은 저에게 효과적이지만 페이지로드가 완료된 후 코드를 실행해야한다는 것을 깨달은 후에야 가능합니다. 이 상황에서 인라인 스크립트가 작동하지 않았습니다. #my_form이 아직로드되지 않았기 때문입니다.
$(document).ready(function() {
$("#my_form textarea").val('');
});
페이지에 JQuery v1.4.4가 있었을 때 둘 다 작동하지 않았습니다. JQuery v1.7.1을 내 페이지에 삽입하면 마침내 작동했습니다. 그래서 제 경우에는 JQuery 버전이 문제를 일으켰습니다.
id ==> 텍스트
======================
var script1 = document.createElement("script");
script1.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js";
document.body.appendChild(script1);
var script2 = document.createElement("script");
script2.type = "text/javascript";
script2.innerHTML = "var $jq171 = $.noConflict();";
document.body.appendChild(script2);
$jq171('#textareaid').val('xxx');
나는 $(textarea).val/html/text(any_str_var)
모두 나를 위해 일했다. 문자열로 변수를 텍스트 영역에 추가하려면 항상 다음과 같이 연결할 수 있습니다.
$(textarea).val(unknown_var + '')
.val () 메소드는 텍스트 영역에서 확실히 사용됩니다-https: //api.jquery.com/val/
.html ()을 사용하여 요소의 내용을 가져 오거나 설정할 수 있습니다. https://api.jquery.com/html/#html2를 참조하십시오.
.text ()는 .html과 동일하며 XML 내용을 설정하는 데 사용할 수 있습니다. https://api.jquery.com/text/#text-text
또한 각 링크를 사용하여 각각의 특수 문자에 대해 각각의 동작을 자세히 볼 수 있습니다.
데이터베이스의 데이터를 사용할 때 문제가 발생할 $("textarea#ExampleMessage").html('whatever you want to put here');
수 있으므로 사용 하는 것이 좋습니다 .val()
.
예를 들면 다음과 같습니다.
로 명명 된 데이터베이스 필드 description
는 다음 값을가집니다 asjkdfklasdjf sjklñadf
. 이 경우 텍스트 영역에 값을 할당하기 위해 .val ()을 사용하는 것은 지루한 작업이 될 수 있습니다.