2017-06-02 38 views
0

我有,你的onclick它会得到如列和单元格值表:的onClick HTML表格单元格中保存到Django的数据库

{"name" : Clark} 

现在我怎么可以把直接输出到表单和保存只需点击相同的表格单元,而不需要按钮或显示字段。 HTML中的字段仅用于测试,稍后会隐藏它。

任何帮助是非常赞赏

这里是我的代码

model.py

class OnClickFormSave(models.Model): 
    data = models.CharField(max_length=100) 

    def __str__(self): 
     return self.data 

form.py

class OnClickFormSaveForm(forms.ModelForm): 
    class Meta: 
     model = OnClickFormSave 
     fields = ['data'] 

view.py

def formsave_view(request): 
    form = OnClickFormSaveForm(request.POST or None, request.FILES or None) 
    if form.is_valid(): 
     instance = form.save(commit=False) 
     instance.save() 
     return HttpResponseRedirect('/form') 
    return render(request, 'onClickSave.html', {'form': form}) 

HTML

<form method="post" enctype="multipart/form-data">{% csrf_token %} 
      {{ form.data }} 
     <input type="submit" value="Save Changes" /> 
    </form> 
<table align="center" id="tableID" border="1" style="cursor: pointer;"> 
<thead> 
    <tr> 
     <th id="name">name</th> 
     <th id="age">age</th> 
     <th id="ID">ID</th> 
    </tr> 
</thead> 
<tbody> 
    <tr> 
     <td>Clark</td> 
     <td>29</td> 
     <td>1</td> 
    </tr> 
    <tr> 
     <td >Bruce</td> 
     <td>30</td> 
     <td>2</td> 
    </tr> 
</tbody> 
</table> 

的Javascript

$('table tbody tr td').on("click", getColumnID); 
function getColumnID() { 
    var $td = $(this), 
     $th = $td.closest('table').find('th').eq($td.index()); 
    var head = $th.attr("id"); 
     $row = ($(this).text()); 
     var table = $row; 
    var cell = `{"${head}" : ${table}}`; 
    console.log(cell); 

} 
+0

你的问题是如何将数据从js传递到你的formsave_view? –

+0

是的,这是正确的 –

回答

0

你可以调用的URL与数据一起! POST方法已经足够了。并且在jQuery.post中,您已经拥有单元格变量中的数据。

​​
+0

嗨@Raja西蒙感谢您的回复,这看起来可行,你可以编辑我的代码编辑字典,我做错了,因为它不工作 –

+0

var cell ='{“data “:$ {table}}'; –

+0

是否有效?../ –

相关问题