`
xyh
  • 浏览: 84090 次
  • 性别: Icon_minigender_1
  • 来自: China
社区版块
存档分类
最新评论

通过DOM创建的输入表单Submit为空

阅读更多

通过JavaScript DOM创建的表单input,不能随表单提交而提交,比如用下面脚本创建输入表单:

function handlevent(event){
 var count  = document.getElementById("answerint").value;
 count = parseInt(count);
 var eve = event||window.event;
 var theelement;
 for(var element = eve.srcElement||eve.target;element.tagName!="TR";element=element.parentElement){
   theelement = element.parentElement;
 }
 var tr = document.createElement("tr");
 var td = document.createElement("td");
 var label = document.createElement("label");
 label.appendChild(document.createTextNode("选项内容"));
 td.appendChild(label);
 tr.appendChild(td);
 var td = document.createElement("td");
 var divdiv = document.createElement("div");
 for(var i=1;i<=count;i++){
  var div = document.createElement("div");
  var input = document.createElement("input");
  input.setAttribute("type","text");
  input.setAttribute("name","contentstr");
  input.style.width="250px";
  div.appendChild(document.createTextNode("内容:"));
  div.appendChild(input);
  var input = document.createElement("input");
  input.setAttribute("type","text");
  input.setAttribute("name","score");
  input.style.width="20px";
  div.appendChild(document.createTextNode(";分值:"));
  div.appendChild(input);
  var input = document.createElement("input");
  input.setAttribute("type","text");
  input.setAttribute("name","score");
  input.style.width="350px";
  div.appendChild(document.createTextNode(";分析:"));
  div.appendChild(input);
  td.appendChild(div);
 }
 tr.appendChild(td);
 insertAfter(tr,theelement);
}

function insertAfter(newElement,targetElement) {
  var parent = targetElement.parentNode;
  if(parent.lastChild == targetElement) {
	 parent.appendChild(newElement);
  } else {
	 parent.insertBefore(newElement,targetElement.nextSibling);
  }
 }

 

 

在Form提交的时候,name为contentstr的值不能被反射到FormBean

 原因可能是防止脚本攻击,不允许随意添加表单提交的Form;

 

另外尝试了另外一种办法,work了:

通过javascript对表格操作的insertRow()、insertCell()来添加单元格,通过innerHTML来增加表单

 

另外尝试了一种通过创建DOM而获取表单值的方法,比如:

 var s=obj2.getElementsByTagName("input").length;
 var str="";
 for(var i=0;i<s;i++)
  {
     str+=obj2.getElementsByTagName("input").item(i).getAttribute("value")+"   " ; 
        } 
 alert(str);

 

 

 

 

 

分享到:
评论

相关推荐

    jq ajax提交表单

    input type="submit" value="Submit Comment" /&gt; &lt;/form&gt; &lt;html&gt; &lt;head&gt; [removed][removed] [removed][removed] [removed][removed] // wait for the DOM to be loaded $(document)....

    jsdom-submit-bug

    在button[type=submit]上发出点击事件后不会触发 jquery 表单事件submit 重现步骤 npm install npm start

    Nodejs下用submit提交表单提示cannot post错误的解决方法

    &lt;span xss=removed&gt;&lt;form action="/registOK" method="get"&gt; ...input type="text" id="userName" name="userName"&gt; ...input type="password" ...我写的注册表单,用post请求提交到registOK页面,提交后提示cannot

    JavaScript_DOM编程

    fileCreatedDate:网页文档的创建时间 fileModifiedDate:网页文档的修改时间 fileSize:文件大小 lastModified: URL:返回或设置打开当前网页所用的URL地址 referrer:返回或设置导航到当前文件的超链接源的...

    JavaScript详解(第2版)

     11.4.1 为表单及其输入类型(控件)命名   11.4.2 表单中的传统DOM   11.4.3 为表单及按钮命名   11.4.4 提交填写完成的表单   11.4.5 this关键字   11.4.6 submit()及reset()方法   11.5 输入...

    使用jQuery重置(reset)表单的方法

    由于JQuery中,提交表单是像下面这样的: ...那有么没有办法通过JQuery来重置表单呢,答案是有的,不过是一种间接的方法,如下: 代码如下:$(‘#yigeform’)[0].reset()也就是通过调用 DOM 中的reset方法来重置表单。

    大名鼎鼎的IBM公司 Ajax 培训资料

    在一般的 Web 应用程序中,用户填写表单字段并单击 Submit 按钮。然后整个表单发送到服务器,服 务器将它转发给处理表单的脚本(通常是 PHP 或 Java,也可能是 CGI 进程或者类似的东西),脚本执 行完成后再发送回...

    JavaScript操作表单_动力节点Java学院整理

    用JavaScript操作表单和操作DOM是类似的,因为表单本身也是DOM树。 不过表单的输入框、下拉框等可以接收用户输入,所以用JavaScript来操作表单,可以获得用户输入的内容,或者对一个输入框设置新的内容。 HTML表单的...

    formdata-to-object:将formData对象或Form DOM节点转换为KV对象

    表单数据到对象 将formData对象或form DOM节点转换为KV对象。 通常,您不想使用此方法,而是将onchange侦听器附加到每个输入元素。 在某些情况下有用。用法var toObject = require ( 'formdata-to-object' )var ...

    jQuery核心语法

    通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用dom定义的方法。 2、jQuery对象与dom对象的转换 只有jquery...

    AwesomeList:一个简单的表单组件,一一接受文本输入,并将它们作为数组输出

    每个都有一个名为"submit"的属性,其值是一个函数,该函数返回该列表中当前文本项的数组,并清空该列表。 但是,如果您更喜欢将组件包含在通过 POST 提交的表单中,则没有必要使用此方法。 该脚本删除您原来的&lt;...

    polymer-country-region-selector:用于向表单添加动态的国家_地区下拉列表的 Polymer 组件

    There's a problem where elements in a shadow DOM don't submit along with the form submission, so it can't be used without additional JS. 这是一个组件,用于向您的表单添加国家/地区下拉列表。 该组件会...

    live-dom:DOM自动发现库。 自动初始化匹配的节点

    $live ( '.btn.submit-login' , function ( btn ) { btn . addEventListener ( 'click' , function ( e ) { user . login ( ) ; } ) ; } ) ; 形式 根据name属性自动初始化html表单。 &lt; form name =" login " ...

    WEB 前端开发中防治重复提交的实现方法

    web前端数据请求或者表单提交往往通过对dom的点击事件来操作,但是往往因为认为点击过快(少年手速挺快的嘛),或者因为响应等待使得用户误人为没操作而重复很多次点击,造成表单数据的连续重复提交,造成用户体检的...

    react-submit:react 淘宝返利项目

    使用 react 创建页面 √2.使用 react-router-dom 实现路由 √3.使用 props-type 做属性检查 √4.搭建 mock server 模拟数据请求 √5.使用 redux 实现状态管理 √6.使用 Immutable7.项目中添加异步请求 √8.redux-...

    angularjs-utilities:希望对AngularJS有用的指令,提供程序,过滤器等

    创建它的目的是与可以操纵DOM的浏览器插件(如密码管理器)一起使用,但可能不会触发Angular侦听的适当事件。 rcMailgun-此模块包含用于配置和使用mailgun api验证服务( )的自定义指令和提供程序。 ...

    week3.day1.userInput

    将输入解析为以下“ Ad Lib”文本,将相应的输入放置在适当的位置:“昨晚我吃了{ #noun },今天我只需要{ #verb }。 {{ #adjective }天!” 隐藏.form_container 使用最终文本填充#story_result 提示:请记住要...

    react-smart-form:包含您将需要的所有功能的表单组件

    包含您将需要的所有功能的表单组件。 安装 用或安装 yarn add react-smart-form # or npm install react-smart-form --save 例子 基本的 import React , { Component } from 'react' ; import { render } from '...

    html中关于form与表单提交操作的资料集合

    这里我们介绍一下form元素与表单提交方面的知识。 form元素 form元素的DOM接口是HTMLFormElement,继承自HTMLElement,因而它与其他的HTML元素拥有相同的默认属性,不过它自身还有几个独有的属性和方法: 属性值 ...

    Web前端高级作业一.txt

    当input的type为submit时可以点击提交表单数据 &lt;select&gt;&lt;/select&gt;标签是选项标签,里面加入option可以作为选项 2.1.3框架和框架集&lt;frameset&gt;` 二.css 1.这个用来设置标签样式有好处 采用外部样式设置页面一来...

Global site tag (gtag.js) - Google Analytics