从具有相同字段名的多个表单中获取所有值,而不使用表单

2024-05-21 03:58:58 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在没有formset的情况下从多个具有相同字段名的表单中获取所有值?你知道吗

这是我的视图.py文件

...
test = str(request.POST.getlist('testing123[]'))
...

还有一个html文件

<div class="input-group">
  <input type="text" class="form-control" name="testing123[]">
    <a href="javascript:void(0);" class="add_button_rip btn btn-warning" title="Add field">+</a>
</div>

用js脚本克隆表单

<script type="text/javascript">
  $(document).ready(function(){
      var maxField = 100; //Input fields increment limitation
      var addButton = $('.add_button_rip'); //Add button selector
      var wrapper = $('.field_wrapper_rip'); //Input field wrapper
      var fieldHTML = '<div class="spacer-divide"></div><div class="input-group"><input type="text" class="form-control" name="test"><a href="javascript:void(0);" class="remove_button_rip btn btn-warning" title="Add field">-</a></div>'; //New input field html 
      var x = 1; //Initial field counter is 1

      //Once add button is clicked
      $(addButton).click(function(){
          //Check maximum number of input fields
          if(x < maxField){ 
              x++; //Increment field counter
              $(wrapper).append(fieldHTML); //Add field html
          }
      });

      //Once remove button is clicked
      $(wrapper).on('click', '.remove_button_rip', function(e){
          e.preventDefault();
          $(this).parent('div').remove(); //Remove field html
          x--; //Decrement field counter
      });
  });
  </script>

我试着用这个打印

print (test)
for x in range(len(test)):
  print (test[x],end=" ")

结果只是第一个值

对不起,我弄错了,这行的代码错了

var fieldHTML = '<div class="spacer-divide"></div><div class="input-group"><input type="text" class="form-control" name="test"><a href="javascript:void(0);" class="remove_button_rip btn btn-warning" title="Add field">-</a></div>';

一定是的

var fieldHTML = '<div class="spacer-divide"></div><div class="input-group"><input type="text" class="form-control" name="testing123[]"><a href="javascript:void(0);" class="remove_button_rip btn btn-warning" title="Add field">-</a></div>';

Tags: texttestdivaddfieldinputvartype
1条回答
网友
1楼 · 发布于 2024-05-21 03:58:58
test = request.POST.getlist('testing123[]')
print(test) # first check if test contains multiple elements and then start iteration over it
for t in  test:
    print(t) # you can cast it as a string now, print(str(t)). this return single element.

相关问题 更多 >