with texto obtener con color change cambiar jquery textarea

jquery - texto - set placeholder with js



Establecer valor de textarea en jQuery (23)

Estoy intentando establecer un valor en un campo de área de texto usando jquery con el siguiente código:

$("textarea#ExampleMessage").attr("value", result.exampleMessage);

El problema es que, una vez que este código se ejecuta, ¿no está alterando el texto en el área de texto?

Sin embargo, al realizar una alert($("textarea#ExampleMessage").attr("value")) , ¿se devuelve el valor recién configurado?


¿Has probado val?

$("textarea#ExampleMessage").val(result.exampleMessage);


Ahí está el problema: necesito generar código html desde el contenido de un div dado. Entonces, tengo que poner este código html crudo en un área de texto. Cuando uso la función $ (textarea) .val () de esta manera:

$ (textarea) .val ("algunos html como <input type = ''text'' value = '''' style =" background: url (''http://www.w.com/bg.gif'') repeat-x center; "/> bla bla");

o

$ (''# idTxtArGenHtml''). val ($ (''idDivMain''). html ());

Tuve un problema con algunos caracteres especiales (& ''") cuando están entre comillas. Pero cuando uso la función: $ (textarea) .html () el texto está bien.

Hay un formulario de ejemplo:

<FORM id="idFormContact" name="nFormContact" action="send.php" method="post" > <FIELDSET id="idFieldContact" class="CMainFieldset"> <LEGEND>Test your newsletter&raquo; </LEGEND> <p>Send to &agrave; : <input id=''idInpMailList'' type=''text'' value=''[email protected]'' /></p> <FIELDSET class="CChildFieldset"> <LEGEND>Subject</LEGEND> <LABEL for="idNomClient" class="CInfoLabel">Enter the subject: *&nbsp</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();"/>&nbsp;&nbsp; <INPUT id="idBtnSend" type="button" value="Send" onclick="onSend();"/><BR/><BR/> <LEGEND>Message</LEGEND> <LABEL for="idTxtArGenHtml" class="CInfoLabel">Html code : *&nbsp</LABEL><BR/> <span><TEXTAREA name="nTxtArGenHtml" id="idTxtArGenHtml" width=''100%'' cols="69" rows="300" alt="enter your message" ></TEXTAREA></span> </FIELDSET> </FIELDSET> </FORM>

Y el código javascript / jquery que no funciona para llenar el área de texto es:

function onGenHtml(){ $(''#idTxtArGenHtml'').html( $("#idDivMain").html() ); }

Finalmente la solución:

function onGenHtml(){ $(''#idTxtArGenHtml'').html( $("#idDivMain").html() ); $(''#idTxtArGenHtml'').parent().replaceWith( ''<span>''+$(''#idTxtArGenHtml'').parent().html()+''</span>''); }

El truco es envolver su área de texto con una etiqueta span para ayudar con la función replaceWith. No estoy seguro de si está muy limpio, pero funciona perfectamente también agrega código html en bruto en un área de texto.


Creo que esto debería funcionar :

$("textarea#ExampleMessage").val(result.exampleMessage);


Creo que falta un aspecto importante:

$(''#some-text-area'').val(''test'');

funciona solo cuando hay un selector de ID (#)

para el selector de clase hay una opción para usar un valor nativo como:

$(''.some-text-area'')[0].value = ''test'';


Cuando tuve JQuery v1.4.4 en la página, ninguno de estos funcionó. Al inyectar JQuery v1.7.1 en mi página, finalmente funcionó. Así que en mi caso, fue la versión de JQuery la que causó el problema.

id ==> textareaid

======================

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'');


El área de texto no tiene ningún atributo de valor, su valor se encuentra entre las etiquetas, es decir, <textarea>my text</textarea> , no es como el campo de entrada ( <input value="my text" /> ). Por eso attr no funciona :)


El área de texto no tiene valor. jQuery .html () funciona en este caso

$("textarea#ExampleMessage").html(result.exampleMessage);


En Android .val y .html no funcionaron.

$(''#id'').text("some value")

hizo el trabajo


Esto funciona:

var t = $(''#taCommentSalesAdministration''); t.val(''Hi'');

Recuerde, la parte difícil aquí es asegurarse de usar la ID correcta. Y antes de usar la identificación, asegúrese de poner # antes.


Funciona para mí ... He construido una pared de libro de cara ...

Aquí está la base de mi código:

// SETS MY TEXT AREA TO EMPTY (NO VALUE) $(''textarea#message_wall'').val('''');


Incluso puede utilizar el siguiente fragmento de código.

$("textarea#ExampleMessage").append(result.exampleMessage);


La respuesta aceptada funciona para mí, pero solo después de que me di cuenta de que tenía que ejecutar mi código después de que la página terminara de cargarse. En esta situación, el script en línea no funcionó, supongo que porque #my_form no había terminado de cargarse todavía.

$(document).ready(function() { $("#my_form textarea").val(''''); });


Oohh vamos chicos! funciona solo con

$(''#your_textarea_id'').val(''some_value'');


Para establecer el valor de área de texto de HTML codificado (para mostrarlo como HTML), debe usar .html( the_var ) pero como se mencionó, si lo intenta y lo vuelve a configurar, puede (y probablemente) no funcione.

Puede solucionar este problema vaciando el área de texto .empty() y luego configurándolo nuevamente con .html( the_var )

Aquí hay un JSFiddle en funcionamiento: 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="&lt;a href=&quot;google.com&quot;&gt;google.com&lt;/a&gt;">Google HTML</a> <a id="yahoo_html" class="load_html" href="#" data-my_html="&lt;a href=&quot;yahoo.com&quot;&gt;yahoo.com&lt;/a&gt;">Yahoo HTML</a> <a id="clear_html" href="#">Clear HTML</a>


Podemos usar los métodos .val () o .text () para establecer valores. necesitamos poner valor dentro de val () como val ("hola").

$(document).ready(function () { $("#submitbtn").click(function () { var inputVal = $("#inputText").val(); $("#txtMessage").val(inputVal); }); });

Ver ejemplo aquí: http://www.codegateway.com/2012/03/set-value-to-textarea-jquery.html


Solo usa el ID de textarea por su tipo similar:

$("textarea#samplID").val()


Solo usa este código y siempre tendrás el valor:

var t = $(this); var v = t.val() || t.html() || t.text();

Así que verificará val () y establecerá su valor. Si val () obtiene una cadena vacía, NULL, NaN os comprobará si hay html () y luego text () ...


Tenía la misma pregunta, así que decidí probarlo en los navegadores actuales (estamos un año y medio después de esta pregunta), y esto ( .val ) funciona.

$("textarea#ExampleMessage").val(result.exampleMessage);

para

  • IE8
  • FF 3.6
  • FF4
  • Opera 11
  • Cromo 10

Tuve el mismo problema y esta solución no funcionó pero lo que funcionó fue usar html

$(''#your_textarea_id'').html(''some_value'');


Usando $("textarea#ExampleMessage").html(''whatever you want to put here''); puede ser una buena manera, porque .val() puede tener problemas cuando está utilizando datos de la base de datos.

Por ejemplo:

Un campo de base de datos denominado como description tiene el siguiente valor asjkdfklasdjf sjklñadf . En este caso, usar .val () para asignar valor a textarea puede ser un trabajo tedioso.


textarea no almacena valores como

<textarea value="someString">

en cambio, almacena valores en este formato:

<textarea>someString</textarea>

Entonces attr("value","someString") obtiene este resultado:

<textarea value="someString">someOLDString</textarea>.

intente $("#textareaid").val() o $("#textareaid").innerHTML lugar.


$("textarea#ExampleMessage").val() en jquery simplemente una magia.

Debería notar que la etiqueta de área de texto usa html interno para mostrar y no en el atributo de valor como la etiqueta de entrada.

<textarea>blah blah</textarea> <input type="text" value="blah blah"/>

Deberías usar

$("textarea#ExampleMessage").html(result.exampleMessage)

o

$("textarea#ExampleMessage").text(result.exampleMessage)

depende de si desea mostrarlo como etiquetas html o texto sin formato.


.val() con .val() .text() .html() y tuve algunos errores al usar jQuery para leer o establecer el valor de un área de texto ... Terminé usando js nativos

$(''#message'').blur(function() { if (this.value == '''') { this.value = msg_greeting; } });