2015-01-22 6 views
0

Как вы получаете значение поля текстового поля и отправляете data внутри ajaxOptions? Я проверил свое мнение и успешно распечатал тестовую переменную из моих представлений Django. Я использую X-editable для JQuery. Вот что текстовое поле ввода выглядит следующим образом:Получение значения текстового поля из X-editable

http://jsfiddle.net/xBB5x/197/

views.py

def create_post(request): 

    print request.POST.get("test", ""); 
    return HttpResponse(json,content_type="application/json") 

HTML

<a id="other1" data-pk="First Name" data-name="test">First Name</a> 

AJAX

$(document).ready(function() { 

     $('#other1').editable({ 
      type: 'text', 
      pk: 1, 
      url: '/create_post/', 
      ajaxOptions: { 

        data: { 

        csrfmiddlewaretoken: '{{ csrf_token }}', 
        test: "hi", 
        }, 


       }, 
      placement: 'top', 
      title: 'New Expense', 
      success: function(response, newValue) { 
       if(response.status == 'error') return response.msg; //ms 
      }, 

     }); 

    }); 

ответ

0

Вместо ajaxOptions, используйте params. Если я правильно помню, test и его значение будет включено в ваш запрос POST с помощью x-editable. Попробуйте что-то вроде этого:

Html

<a id="other1" data-pk="1" data-name="test">First Name</a> 

AJAX

$(document).ready(function() { 
    $('#other1').editable({ 
     type: 'text', 
     url: '/create_post/', 
     params : function(params) { 
      params.csrfmiddlewaretoken = '{{ csrf_token }}'; 
      return params; 
     }, 
     placement: 'top', 
     title: 'New Expense', 
     success: function(response, newValue) { 
      if(response.status == 'error') return response.msg; //ms 
     }, 

    }); 
}); 
Смежные вопросы