页面JS实现按钮点击增加输入框

  最近开发实现了那种点击增加按钮就会多出一栏的效果,但是当每栏的输入框的数量比较多的时候,后台参数的接受就是个问题,不过现在问题总算解决了,用List集合去接受页面数组的方式,具体实现如下:

  实现的思路:

  首先,要把传递的每栏参数变成每个对象,例如:昵称,用户名,密码就是一个user类的属性;

@Entity
public class User {
    @Id
    @GenericGenerator(name = "generator", strategy = "increment")
    @GeneratedValue(generator = "generator")
    private Integer id;
    private String nikeName;
    private String username;
    private String password;

       //get() set()...

}

  其次,当首次进入页面的时候默认的都会有一栏输入框,及第一栏;

@Controller
@Scope("prototype")
public class AllTestAction extends ActionSupport{
    //此方法是输入页面提交,接受参数的方法list<user> param
    //可以直接接受页面传递过来的param数组
    List<User> param = new ArrayList<User>();
    public String testAddEnd() {
        User user = new User();
        list =param;
        return "testAddEnd";
    }
    List<User> list = new ArrayList<User>();
    //由此方法进入输入页面,默认有一栏空输入框,
    public String testAddStart() {
        User user = new User();
        list.add(user); //list中加入没有赋值的user对象,为了形成空的输入栏
        return "testAddStart";
    }
     //get() set().....
}

  最后就是jsp页面的展现,代码如下:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style type="text/css">
    #addtest{
        border:1px #33CC00 solid;
        margin:auto;
    }
    #test{
        width:160px;
        border:1px #ffffff solid;
        position:relative;
        left:40%;

    }
    td{
        text-align:center;
    }
</style>
<script type="text/javascript" src="plugin/dwz/js/jquery-1.7.2.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript">
    var index = 1;
    function add() {
        var addstep = index + 1;
        $("#addtest tr:last").after("<tr>" +
                "<td>"+ addstep +"</td>" +
                "<td>" +
                    "<input type=‘text‘ name=‘param[" + index + "].nikeName‘ >" +
                "</td>" +
                "<td>"+
                    "<input type=‘text‘ name=‘param[" + index + "].username‘ >"+
                "</td>"+
                "<td>"+
                    "<input type=‘text‘ name=‘param[" + index + "].password‘ >"+
                "</td>"+
            "</tr>");
        index += 1;
    }
</script>
<title>Insert title here</title>
</head>
<body>
    <form action="allTestAction!testAddEnd" method="post">
        <table id="addtest">
            <tr>
                <td>编号</td>
                <td>昵称</td>
                <td>用户名</td>
                <td>密码</td>
            </tr>
            <c:forEach items="${list}" var="user" varStatus="ind">
            <tr>
                <td>${ind.index + 1}</td>
                <td>
                    <input type="text" name="param[${ind.index}].nikeName" value="${user.nikeName }">
                </td>
                <td>
                    <input type="text" name="param[${ind.index}].username" value="${user.username}">
                </td>
                <td>
                    <input type="text" name="param[${ind.index}].password" value="${user.password }">
                </td>
            </tr>
            </c:forEach>
        </table>
            <div id="test">
            <input type="button" value="增加栏位" onclick="add()">
            <input type="submit" value="提交">
            </div>
    </form>
</body>
</html>

jsp

  最近做web开发,页面要用户体验好的话会经常会加些特效,有时候感觉很有难度,不过实现后又觉得很有成就感。所有特地把工作遇到的自己花费了脑力的实现的代码整理了下,用来以后温故知新和给同样有需求的朋友一个参考。

  

页面JS实现按钮点击增加输入框

时间: 2024-10-13 06:06:05

页面JS实现按钮点击增加输入框的相关文章

js触发按钮点击事件

js触发按钮点击事件 博客分类: javascript 模拟JS触发按钮点击功能 Html代码   <html> <head> <title>usually function</title> </head> <script> function load(){ //下面两种方法效果是一样的 document.getElementById("target").onclick(); document.getElement

点击按钮带编号增加一行js

<table class="tblborder" cellspacing="1" cellpadding="5" width="100%" align="center" bgcolor="#42344a" border="0">      <tr><td><strong id="add_process"&g

ios上有时候提交按钮点击两次才可以取消输入框软键盘

ios上有时候提交按钮点击两次才可以取消输入框软键盘,点击第一次软键盘消失,点击第二次输入框页面消失,这样用户体验不好.我的做法是用 touchstart 代替click来处理 反应快,但是有时候会出现 输入框消失后 软键盘又弹出来了,得手动关闭软键盘才可以,这个时候给输入框一个主动取消焦点的事件就可以解决 $("..").blur();

设置警告框样式为带有两个文本输入的警告框,用于收集用户收货地址和联系电话。并选择合适的代理方法,当警告框上的两输入框有一个为空时限制“购买”按钮点击。

收集购物信息  iOS项目 倒计时:588 步骤 /.panel-heading 项目需求 设置警告框样式为带有两个文本输入的警告框,用于收集用户收货地址和联系电话.并选择合适的代理方法,当警告框上的两输入框有一个为空时限制“购买”按钮点击. #import "TableViewController.h" @interface TableViewController ()<UIAlertViewDelegate> @property (nonatomic, strong)

IPhone手机页面中点击文本输入框,弹出键盘,网页会放大,如何解决

在head标签中加入以上meta声明.具体属性可以谷歌/百度. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 我查了下viewport,有几个属性:width - viewport的宽度 height - viewport的高度initial-scale - 初始的缩放比例minim

js jquery 按钮点击后 60秒之后才能点击 60秒倒计时

var wait = 60; function time(o) { if (wait == 0) { $(o).attr("disabled", false); $(o).val("获取验证码"); wait = 60; } else { $(o).attr("disabled", true); o.val(wait + "秒后重新发送"); wait--; setTimeout(function () {time(o);},

selenium依次点击页面的删除按钮

需要依次点击页面的删除按钮,如下图: @Test public static void FaBu() { TestMenuJump.jumpExam(driver); TestMenuJump.jumpExamPa(driver); WebElement wes = driver.findElement(By.id("Category")); Select sc = new Select(wes); sc.selectByIndex(3); wes.submit(); //driver

CSS3和js炫酷点击按钮3D翻转动画特效

简要教程 flipside是一款使用CSS3和js制作的炫酷点击按钮无缝过渡到确认面板的过渡动画特效.该点击按钮特效在按钮不同方向的边部点击时,产生的过渡动画特效是不一样的. 在线预览   源码下载 使用方法 使用该按钮过渡动画特效需要引入它提供的按钮样式表style.css和用于触发按钮点击事件的js文件script.js. HTML结构 该点击按钮过渡动画特效使用一个嵌套div的HTML结构: <div class="btn"> <div class="

点击增加或者减少商品数量并且自动计算总价格

点击增加或者减少商品数量并且自动计算总价格:本章节介绍一下如何实现点击按钮来添加或者删除商品的数量,并且能够自动计算商品的总价格.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title&g