【发布时间】:2018-02-26 15:59:59
【问题描述】:
我有一个 html 文件,它是一个数据框类。我为每一行添加了点击事件。我想将 fName、lName、Address、Zip 发送到 django views.py 以进行一些内部查询。我的印象是我需要为此使用ajax。我是 javascript 和 Ajax 的新手,不知道如何将其合并到代码中。任何帮助,将不胜感激。如果我有办法将这些变量保存到 txt 文件中,那么我可以在 Django 中调用另一个函数并这样做。不确定,如果将其保存到文本文件是正确的方法。
#sample HTML file
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th>first</th>
<th>LastName</th>
<th>Address</th>
<th>zip</th>
<th>State</th>
</tr>
</thead>
<tbody>
<tr>
<td>mary</td>
<td>poppins</td>
<td>3345 leanie rd</td>
<td>28277</td>
<td>PA</td>
<tr>
<td>honas</td>
<td>bond</td>
<td>1123 cavalry st</td>
<td>38788</td>
<td>GA</td>
function addRowHandlers(tableId) {
if(document.getElementById(tableId)!=null){
var table = document.getElementById(tableId);
var rows = table.getElementsByTagName('tr');
var fname = '';
var lname = '';
var address = '';
var zip = '';
var State = '';
for ( var i = 1; i < rows.length; i++) {
rows[i].i = i;
rows[i].onclick = function() {
fname = table.rows[this.i].cells[0].innerHTML;
lname = table.rows[this.i].cells[1].innerHTML;
address = table.rows[this.i].cells[2].innerHTML;
zip = table.rows[this.i].cells[3].innerHTML;
state = table.rows[this.i].cells[4].innerHTML;
alert(fname +' ' + lname + ' ' + address +' '+ zip +' '+ state + ' ');
};
}
}
}
</script>
#views.py
def query_result(request):
fname = request.GET(//what do I type here?//)
【问题讨论】:
-
你不会在那里写任何东西,因为你没有从你的 Javascript 向后端发送任何东西。您需要某种在 onclick 处理程序中发送数据的 Ajax 函数。
-
您好丹尼尔,感谢您的回复。 Ajax 是实现此目的的唯一方法吗?我对整个网络服务器开发都是新手。谢谢
-
Ajax 只是意味着通过 Javascript 发送请求,所以我不知道您还想做什么。如果您希望 Javascript 在您单击某些内容时发出请求并对响应执行某些操作,则需要 Ajax。
-
我希望用户点击该行。并使用该行作为输入回到 django 中,我可以在其中查询数据库。所以我想 ajax 是要走的路
-
否则,您可以只将该行设为链接,而根本不使用 Javascript。
标签: javascript html django python-3.x