Я пытаюсь получить ввод от пользователя из выпадающего списка.Я использовал JavaScript, чтобы получить ввод динамического размера, а затем сохранил ввод в переменную с помощью appendChild.Теперь я хочу отправить эту переменную обратно в представления django, где я могу выполнить некоторые операции над ней.
Я пытался использовать функции getlist и get в django, но не могу понять, как получить переменную.
<form method = "POST" name = "myForm" onsubmit = "return validateForm()">{% csrf_token %}
<p>Entry Condtion:</p>
<div id ="entry-parameters"></div>
<button type="button" onclick= "add_entry_parameter()" class="btn btn-primary m-t-15 waves-effect">Add a new Entry Condition</button>
<button type= "button" onclick= "remove_entry_parameter()" class= "btn btn-primary m-t-15 waves-effect">Remove Entry Condtion</button>
<br>
<p>Exit Condtion</p>
<div id = "exit-parameters"></div>
<button type="button" onclick= "add_exit_parameter()" class="btn btn-primary m-t-15 waves-effect">Add a new Exit Condition</button>
<button type= "button" onclick= "remove_exit_parameter()" class= "btn btn-primary m-t-15 waves-effect">Remove Exit Condtion</button>
<br>
<br>
<br>
<input type="submit" value="submit" >
</form>
<script>
var list = ['open' , 'close' , 'high', 'low'];
var addField = document.getElementById('addField');
parameters= document.getElementById('entry-parameters');
exit_parameters= document.getElementById('exit-parameters');
parameters.setAttribute("name" , "parameters" );
exit_parameters.setAttribute("name" , "exit_parameters");
function remove_entry_parameter()
{
parameters.removeChild(parameters.lastElementChild);
}
function add_entry_parameter()
{
var _form = document.body.appendChild(document.createElement('form')),
_input = _form.appendChild(document.createElement('input')),
_condition = _form.appendChild(document.createElement('input')),
_input2 = _form.appendChild(document.createElement('input')),
_datalist = _form.appendChild(document.createElement('datalist'));
_cond_list = _form.appendChild(document.createElement('datalist'));
_input.placeholder = "First Parameter";
_input.list = 'exampleList';
_input.setAttribute('list','exampleList')
_input.datalist_id = 'exampleList';
_input2.placeholder = "Second Parameter";
_input2.list = 'exampleList';
_input2.setAttribute('list','exampleList')
_input2.datalist_id = 'exampleList';
_condition.placeholder = "Condition";
_condition.list = 'conditionList';
_condition.setAttribute('list','conditionList')
_condition.datalist_id = 'conditionList';
_datalist.id = 'exampleList';
_cond_list.id = 'conditionList';
var list = ['open' , 'close' , 'high' , 'low' , 'vol'];
var cond_list = ['greater than', 'less than' , 'crossed above' , 'crossed below', 'equal to'];
for (var i = 0; i < list.length ; i++) {
var _option = _datalist.appendChild(document.createElement('option'));
_option.text =list[i];
};
for (var i = 0; i < cond_list.length ; i++) {
var _option = _cond_list.appendChild(document.createElement('option'));
_option.text = cond_list[i];
};
parameters.appendChild(_form);
}
// I've written a similar code for exit_parameters
</script>
def get_data(request):
if request.method == 'POST':
entry_data = request.POST.get('parameters')
exit_data = request.POST.get('exit_parameters')
print(entry_data)
print(exit_data)
return render(request, 'get_data.html' , {})