Mise à jour d'un DIV lors de l'écriture du texte dans un textarea

Je voudrais à "vivre" mise à jour d'un DIV dans la page avec le texte à l'utilisateur d'entrer dans un textarea.
J'ai le balisage suivant

<div id="previewNote" class="note yellow" style="left:25;top:25px;z-index:1;">
    <div class="body"></div>
    <div class="author"></div>
    <span class="data"></span>
</div>

et a écrit ce code jQuery

/* Listening for keyup events on fields of the "Add Note" form: */
$("[ID$=NoteText]").live('keyup', function(e) {
    if (!this.preview)
        this.preview = $("[ID$=previewNote]");

    /* Setting the text of the preview to the contents of the 
       input field, and stripping all the HTML tags: */
    this.preview.find(".body").html($(this).val().replace(/<[^>]+>/ig, ''));

});

Mais les div ne sont pas mises à jour. Ce qui ne me manque?

merci!

MODIFIER
C'est la forme.

<form action="/Note/SaveOrDelete" id="crudForm" method="post"><input id="IssueNoteID" name="IssueNoteID" type="hidden" value="0">
<!-- The preview: -->
<div id="previewNote" class="note yellow" style="left:25;top:25px;z-index:1;">
<div class="body"></div>
<div class="author">admin</div>
<span class="data"></span>
</div>
<div style="margin: 16px 0px 0px 180px; width: 240px;">
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tbody><tr valign="top">
<td colspan="2">
<label for="NoteText">Testo</label>
<br>
<textarea cols="30" id="NoteText" name="NoteText" rows="6"></textarea>
</td>
</tr>
<tr valign="top">
<td colspan="2" align="right">
<label for="NoteDate">Data</label>
<input id="noteDate" name="noteDate" style="width: 120px" type="text" value="" class="hasDatepicker">
</td>
</tr>
</tbody></table>
<div style="text-align:right;">
<input type="submit" id="btnSave" value="Salva" class="ui-button ui-widget ui-state-default ui-corner-all" role="button" aria-disabled="false">
</div>
</div>
</form>

mais, écoutez, j'ai changé le code jQuery dans

/* Listening for keyup events on fields of the "Add a note" form: */
$("[ID$=NoteText]").live('keyup', function(e) {
/* Setting the text of the preview to the contents of the 
input field, and stripping all the HTML tags: */
$("[ID$=previewNote]").find(".body").html($(this).val().replace(/<[^>]+>/ig, ''));
});

et tout fonctionne!!! :O

C'est très étrange...

  • Pouvez-vous fournir le code HTML de votre "Ajouter une Note" forme?
  • votre code fonctionne pour moi à l'aide d'un <textarea id='NoteText" ></textarea>
  • Le code fourni est de travailler pour moi. Pouvez-vous inclure plus de code à partir de votre page? Peut-être que quelque chose d'autre est à l'origine du problème. Aussi, assurez-vous de mettre l'événement en direct à l'intérieur d'un "prêt" de l'événement par exemple - $(function(){ <mettre de la liaison en direct ici> }); Qui va s'assurer que le document est prêt
  • Jetez un oeil à mon montage. J'ai trouvé une solution mais je ne comprends pas, de toute façon pourquoi la précédente n'a pas fonctionné... merci beaucoup
InformationsquelleAutor Lorenzo | 2010-09-15