想要表单的每一行都有一个按钮,然后这个按钮打开一个窗口,窗口中输出当前行的的值。
代码:
表单页的脚本(打开一个窗口):
<script type="text/javascript">
var flwindow=0;
function popwhenclick(){
id=document.form.id.value;
if(flwindow){
if(!flwindow.closed) flwindow.close();
}
flwindow = window.open("/testTo?id='"+id+"'", "Add","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbar=yes, resizable=yes, copyhistory=yes, width=800, height=800, left=10, top=10");
}
</script>
表单的情况:
<form id="form" name="form" method="get“>
<c:forEach var="user" items="${users }">
<td>>${user.id }</a>
<input type="hidden" name="id" value=${user.id }/></td>
</c:forEach>
跳转到servlet后的代码:
String id = request.getParameter("id");
但是跳转过程的url是:testTo?id='undefined'
id打印出来也是undefined,怎么回事啊?
document.getElementById('id')只能获取表单中第一个值,<name="machine_id" value="${user._id }每次只能获取表单结果的第一个结果
追答getElementById();getElementByName();都是一样的,每次只能获取指定id或者name的值。
追问那我的表里面,读取记录的时候,我想通过点击按钮来取特定的取某一行的userid的值,怎么弄?
代码:
比如说,你的表单里你要取得那一行在form表单里的定义是:
确定
.
Javascript里的方法只要写成如下即可:
var userid;
submit(){
userid=document.getElementByid("textid");
}
这时候,userid的值就是你输入在text里面的值,你想用alert输出的话,直接写alert(userid)即可,如果想输入在另外一个输入框里面的时候,再定义一个输入框,这个输入框的value=userid就行。