Tuesday 15 April 2014

javascript - textarea.val() sends original value not edited -



javascript - textarea.val() sends original value not edited -

i have textarea in mvc project

<textarea id="edit-content" name="content" placeholder="text content goes here">@model.content</textarea>

but when seek send json phone call this

<script type="text/javascript"> function save() { var $title = $('#edit-title'), $content = $('#edit-content'), $messageloading = $('#message-edit-loading'), $messageerror = $('#message-edit-error'), $id = $('#edit-id'); updatecomment($id.val(), $title.val(), $content.val()) .done(function (data) { if (data.isvalid()) { $messageerror.html(''); $messageerror.removeclass('hidden'); $messageloading.removeclass('hidden'); $messageloading.html('the text saved'); } else { $messageerror.removeclass('hidden'); $messageerror.html(data.message); } }) .fail(function (xhr, message) { $messageerror.removeclass('hidden'); $messageerror.html('registration failed: ' + message); }) }; </script>

i original value of @model.content instead of new value.

edit

my script.js code

function updatecomment(id, title, content) { homecoming $.get("/chapter/getjson_update", { id: id, title: title, content: content }, 'json'); };

the entire code edit.cshtml

@model academia_unitate.models.chapter @{ viewbag.title = "edit " + model.title; layout = "~/views/shared/_layout.cshtml"; } @html.partial("~/views/shared/_tinymce.cshtml") <div id="edit"> <h1> edit @model.type.name </h1> <div class="" role="form"> <div class="form-group"> <label class="sr-only" for="title">title</label> <input class="form-control" type="text" id="edit-title" placeholder="enter title" value="@model.title" required="required" /> </div> <div class="form-group"> <label class="sr-only" for="content">content</label> <textarea id="edit-content" name="content" placeholder="text content goes here">@model.content</textarea> </div> <button type="submit" class="btn btn-success" id="save-btn" onclick="save()"><span class="glyphicon glyphicon-ok"></span> save</button> <span id="message-edit-loading" class="alert hidden"></span> <span id="message-edit-error" class="alert alert-danger hidden"></span> </div> </div> <input type="hidden" value="@model.id" id="edit-id"/> <script type="text/javascript"> function save() { var $title = $('#edit-title'), $content = $('#edit-content'), $messageloading = $('#message-edit-loading'), $messageerror = $('#message-edit-error'), $id = $('#edit-id'); updatecomment($id.val(), $title.val(), $content.val()) .done(function (data) { if (data.isvalid()) { $messageerror.html(''); $messageerror.removeclass('hidden'); $messageloading.removeclass('hidden'); $messageloading.html('the text saved'); } else { $messageerror.removeclass('hidden'); $messageerror.html(data.message); } }) .fail(function (xhr, message) { $messageerror.removeclass('hidden'); $messageerror.html('registration failed: ' + message); }) }; </script>

you have more 1 on page, either create id attributes unique or target index in jquery.

javascript jquery textarea

No comments:

Post a Comment