将全局javascript变量传递给操作表单的参数

时间:2017-01-05 12:42:08

标签: javascript forms action

我想包含一个全局javascript变量,它将动态更新为动作表单的参数。 以前,我只是使用django模板语法将视图返回的django变量字符串包含到操作表单中,但现在它已更新,我需要想出一种方法将这个更新的javascript变量传递给GET方法。 我将变量保存为窗口属性" window.subgraph_query =' foo'"这个变量应该随着时间的推移而变化,因此它也需要在表单参数中进行更新。我怎么能达到这个目的?我觉得应该很容易

谢谢!

<script type="text/javascript">

    // BEFORE
    var subgraph_query = "{{ subgraph_query }}";

    //NOW
    window.subgraph_query = "{{ subgraph_query }}";

</script>

// BEFORE
<form action="/graph/network_to_gml/{{ subgraph_query }}" method="get">
   <input name="export-node-list" id="export-node-list"type="text"/>
</form>

// NOW

<form action="/graph/network_to_gml/JAVASCRIPT_VARIABLE" method="get">
   <input name="export-node-list" id="export-node-list"type="text"/>
</form>

1 个答案:

答案 0 :(得分:0)

您需要向表单添加隐藏的输入字段并指定js变量的值。通过这种方式,它对用户来说是不可见的,但是您的脚本会收到它。 隐藏字段类型的示例:

 <input type="hidden" name="country" id='hidden1' value="">

和JS:

document.getElementById('hidden1').value = 'Poland';