2014-10-05 3 views
0

У меня есть этот текстовое поле в моем MVC проектаtextarea.val() посылает исходное значение не редактируется

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

, но когда я пытаюсь отправить это к Json вызова, как это

<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 is saved'); 
       } else { 
        $messageError.removeClass('hidden'); 
        $messageError.html(data.Message); 
       } 
      }) 
      .fail(function (xhr, message) { 
       $messageError.removeClass('hidden'); 
       $messageError.html('Registration failed: ' + message); 
      }) 
    }; 
</script> 

Я получаю первоначальное значение @ Model.content вместо нового значения.


Редактировать

мой script.js код

function updateComment(id, title, content) { 
    return $.get("/Chapter/GetJSON_Update", 
     { 
      id: id, 
      title: title, 
      content: content 
     }, 
     'json'); 
}; 

весь код из моего 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 a 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 is saved'); 
       } else { 
        $messageError.removeClass('hidden'); 
        $messageError.html(data.Message); 
       } 
      }) 
      .fail(function (xhr, message) { 
       $messageError.removeClass('hidden'); 
       $messageError.html('Registration failed: ' + message); 
      }) 
    }; 
</script> 
+1

Что делает 'updateComment'? Я предполагаю, что вы имеете в виду, что он вызывает вызов AJAX, но как выглядит код? – Guffa

+0

@ Guffa: добавлен код вызова ** Json ** –

+0

Я не вижу причин, по которым старое значение может быть отправлено на сервер, оно не должно существовать вообще на этом этапе. Вы должны отлаживать код, выписывать значение на разных этапах и/или просматривать сетевой трафик, чтобы узнать, где именно исходное значение входит в поток. – Guffa

ответ

1

Вы, скорее всего, больше, чем один на вашей странице, либо сделайте их id атрибуты уникальны или нацелены на индекс в вашем jQuery.

+0

Я проверил код, и нет дублированного идентификатора, называемого ** edit-content ** –

+1

Опубликовать больше кода, то, что вы дали, недостаточно. Другими словами, нет ничего плохого в этом. –

+0

Это часть, которая меня тоже пугает: -D Все кажется правильным, но значение все равно неверно –

Смежные вопросы