提交表单时连接URL



我正在实现一个简单的搜索应用程序,我使用django和yelp API作为我的后端,它运行良好,我的问题是我的前端(我不擅长(,我正试图用传单js实现它。在我的搜索应用程序中,我有一个带有输入标签的表格,用户可以在其中搜索餐厅或银行

<form id="search_fm" method="get" >
<input type="text" id="q" name="q" />
<input type="submit" id="Go" value="Search"  />
</form>

对于我想显示餐厅或银行的位置,我使用leaflet功能map.getCenter()获得纬度和lng

我的问题是如何将lating与我的形体动作结合起来。如果我可以获得/search/?q=input_value&loc=latlng格式的请求,我就可以获得请求并在后台处理它。

我试图用以下代码连接我的url,但latlng没有附加

var frmSomething= $("#search_fm");
var btnSubmit= $("#Go");
btnSubmit.click(function()
{
txt_val = document.getElementById('q').value
var mLat = map.getCenter().lat
var mLng =  map.getCenter().lng
var latlng = mLat +','+ mLng
console.log(latlng)
frmSomething.attr("action", "/search/?q=" + txt_val+"&loc="+latlng);
btnSubmit.submit();
});

任何建议

我不知道这是一个最佳解决方案,但没有它的解决方案是好的。我所做的是在表单中添加一个隐藏的输入标记,当点击按钮时,标记值将被分配给输入标记,并将其附加到我的表单操作中

<script>
var btnSubmit= $("#btnSubmit");
btnSubmit.click(function()
{
var mLat = map.getCenter().lat
var mLng =  map.getCenter().lng
var latlng = mLat +','+ mLng
document.getElementById("loc").value = latlng
btnSubmit.submit();
});
</script>                   
<form action="/search/?q='+document.getElementById('q').value'+loc='+document.getElementById('loc')'" id= 'search_fm' method="get" >
<input type="text" id="q" name="q" />
<input type="hidden" id="loc" name="loc"/>
<button id="btnSubmit" type="submit">Submit</button>
</form>

最新更新