2017-01-05 3 views
0

Я хотел бы включить глобальную переменную javascript, которая будет динамически обновляться в аргументе формы действия. Раньше я просто использовал синтаксис шаблона django для включения строки переменной django, возвращаемой представлением, в форму действия, но теперь, когда она обновлена, мне нужно придумать способ передать эту обновленную переменную javascript в метод GET. Я сохраняю переменную как свойство окна "window.subgraph_query = 'foo", эта переменная должна меняться со временем, поэтому ее необходимо обновить также в аргументе формы. Как я могу достичь этого? Я думаю, что это должно быть легкоПередача глобальной переменной javascript в аргумент формы действия

Спасибо!

<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> 
+0

Вы можете использовать onSubmit событие или добавить новый (скрытый) вход. – Mijago

ответ

0

Вам нужно добавить скрытое поле ввода в свою форму и присвоить значение переменной js. таким образом, он не будет отображаться для пользователя, но ваш скрипт получит его. Пример скрытого типа поля:

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

и JS:

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

Спасибо за трюк! – ddomingo

Смежные вопросы