将动态生成的表单传递给控制器

萨拉

这是我的 JavaScript 函数,用于在用户单击创建按钮时基于 XML 文件在运行时生成复选框:

function createform(){
       var xml = '<root><note ><to>x1</to><from><firstname>x2</firstname><lastname>x3</lastname></from><heading>x4</heading></note><note><to>x5</to><from><firstname>x6</firstname><lastname>x7</lastname></from><heading>x8</heading></note></root>';
       var node = (new DOMParser()).parseFromString(xml, "text/xml").documentElement;
       var nodes = node.querySelectorAll("*");
       for (var i = 0; i < nodes.length; i++) {
          var label = document.createElement('label');
          var br = document.createElement('br');

          var alabel = document.getElementById('div');
          var last = alabel[alabel.length - 1];
          label.htmlFor = "lbl"+i;
          label.appendChild(Createcheckbox(nodes[i].tagName));

          label.appendChild(document.createTextNode(nodes[i].tagName));
          label.appendChild(br);

          document.getElementById('div').appendChild(label);
       }
    }

    function Createcheckbox(chkboxid) {
       var checkbox = document.createElement('input');
       checkbox.type = "checkbox";
       checkbox.id = chkboxid;
       checkbox.value = chkboxid; 
       checkbox.checked = false;
       return checkbox;
    }

同样在我的 gsp 页面上,我有这个 HTML 脚本。

<body>
<g:form name="myForm" controller="dynamicform" action="index">
<input type="button" id="btncreate" value="Create" onclick="createform()"/>
<g:submitButton name="submit" value="Submit" />
<Div id='div'>
</div>
</g:form>
</body>

由于此表单中的元素在用户单击“创建”按钮之前是未知的,因此我不确定处理此表单的最佳方法是什么。

我需要将元素的值传递给控制器​​以在视图中呈现它们(稍后我需要使用这些值从我的数据库中检索一些数据)。

提交后我尝试了不同的方式来查看这些元素,例如:

for (name in params.list('name')) {
    println name
}

params.name.each{i->System.out.println(i);}

似乎我的参数没有传递给控制器​​。那是不是因为我的表单元素是使用常规 HTML 而不是 Grails 表单生成的<g: checkbox ... >,所以 DOM 元素无法传递给控制器​​?如果是,有没有办法使用 Grails 表单重写我的 createform() 函数?

我正在尝试在学习 Grails 时遵循最佳实践,所以我很感激任何关于此的建议或建议。

开发板

这是一个简单的修复 -

function Createcheckbox(chkboxid) {
    var checkbox = document.createElement('input');
    checkbox.type = "checkbox";
    checkbox.id = chkboxid;
    checkbox.value = chkboxid;
    checkbox.checked = false;
    checkbox.name = chkboxid; // <-- the fix!!!
    return checkbox;
}

在控制器中: println params

[submit:Submit, note:note, to:to, lastname:lastname,heading:heading, controller:dynamicform, action:index]

在此处输入图片说明

注释:在 HTML 表单提交中,任何带有name属性的输入都会被提交。如果没有nameattr,表单数据将不会传递到服务器。

建议:将你的 JS 函数放在Createcheckbox(chkboxid)前面createform()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel:如何将值从表单传递给控制器?

来自分类Dev

Ajax - 如何将获取值从表单传递给控制器?

来自分类Dev

如何将空值从 html 表单传递给 Spring 控制器

来自分类Dev

如何将 id 和 value 从 cakePHP 中的输入表单传递给控制器?

来自分类Dev

从一个控制器的角度将表单传递给完全不同的控制器

来自分类Dev

从一个控制器的角度将表单传递给完全不同的控制器

来自分类Dev

Rails将生成的js参数从表单传递到控制器

来自分类Dev

将数据从表单传递到控制器Laravel 5

来自分类Dev

如何使用Spring MVC将多个值从表单传递到控制器?

来自分类Dev

将ajax表单值传递给控制器codeigniter

来自分类Dev

将动态控制器传递给角度指令

来自分类Dev

表单传递给控制器后,如何在角度控制器中将必填字段设置为不需要

来自分类Dev

将动态生成的文本框值传递给ASP.NET MVC中的控制器

来自分类Dev

将DateTime传递给控制器

来自分类Dev

将字典传递给控制器

来自分类Dev

将$ id传递给控制器

来自分类Dev

将ID传递给控制器

来自分类Dev

将参数传递给控制器

来自分类Dev

将messageID传递给控制器?

来自分类Dev

将 WebGrid 传递给控制器

来自分类Dev

将表单发送的参数传递给Laravel 5.2中的控制器

来自分类Dev

如何将 Bootstrap Modal 表单数据传递给 Spring Boot 控制器

来自分类Dev

Rails 4如何将动态参数传递给控制器?

来自分类Dev

隐藏表单参数传递给控制器

来自分类Dev

DjangoRestFramework-如何将序列化器表单传递给前端?

来自分类Dev

如何将控制器方法内部生成的变量传递给ExceptionHandler

来自分类Dev

Laravel将传递变量传递给控制器

来自分类Dev

Laravel表单:如何在不使用表单的情况下将隐藏信息传递给控制器

来自分类Dev

将表单传递给AngularJS组件进行验证

Related 相关文章

  1. 1

    Laravel:如何将值从表单传递给控制器?

  2. 2

    Ajax - 如何将获取值从表单传递给控制器?

  3. 3

    如何将空值从 html 表单传递给 Spring 控制器

  4. 4

    如何将 id 和 value 从 cakePHP 中的输入表单传递给控制器?

  5. 5

    从一个控制器的角度将表单传递给完全不同的控制器

  6. 6

    从一个控制器的角度将表单传递给完全不同的控制器

  7. 7

    Rails将生成的js参数从表单传递到控制器

  8. 8

    将数据从表单传递到控制器Laravel 5

  9. 9

    如何使用Spring MVC将多个值从表单传递到控制器?

  10. 10

    将ajax表单值传递给控制器codeigniter

  11. 11

    将动态控制器传递给角度指令

  12. 12

    表单传递给控制器后,如何在角度控制器中将必填字段设置为不需要

  13. 13

    将动态生成的文本框值传递给ASP.NET MVC中的控制器

  14. 14

    将DateTime传递给控制器

  15. 15

    将字典传递给控制器

  16. 16

    将$ id传递给控制器

  17. 17

    将ID传递给控制器

  18. 18

    将参数传递给控制器

  19. 19

    将messageID传递给控制器?

  20. 20

    将 WebGrid 传递给控制器

  21. 21

    将表单发送的参数传递给Laravel 5.2中的控制器

  22. 22

    如何将 Bootstrap Modal 表单数据传递给 Spring Boot 控制器

  23. 23

    Rails 4如何将动态参数传递给控制器?

  24. 24

    隐藏表单参数传递给控制器

  25. 25

    DjangoRestFramework-如何将序列化器表单传递给前端?

  26. 26

    如何将控制器方法内部生成的变量传递给ExceptionHandler

  27. 27

    Laravel将传递变量传递给控制器

  28. 28

    Laravel表单:如何在不使用表单的情况下将隐藏信息传递给控制器

  29. 29

    将表单传递给AngularJS组件进行验证

热门标签

归档