木叶下521
2013-08-19 10:24
浏览 878

JS 从数据库取值表单自动填充

我想把数据库取出的值在页面加载后填充到表单,但是为什么没有填充呢?[code="java"]

<center>
    <h1 id="title">编辑题目</h1>
</center>

<%
Questions q=null;
if(request.getAttribute("q")!=null){
q= (Questions)request.getAttribute("q");
//获得QueryQueByIdservlet存储在request里的数据
//System.out.println(q.getQ_head()+"******q.getQ_head()");
}else{
q=null;
}
String url="";
if(request.getAttribute("isUpdate")!=null){
url="servlet/UpdateQueServlet";
}
else{
url="servlet/AddQueServlet";
}
int sID=0;

if(request.getParameter("s_id")!=null){
sID=Integer.parseInt(request.getParameter("s_id"));

}
else{
sID=0;
}
int q_id=0;
if(request.getParameter("q_id")!=null){
q_id=Integer.parseInt(request.getParameter("q_id"));
}else{q_id=0;}
%>

<form action="<%=url %>" method="post" name="form" >

url<input type="text"  value="<%=url %>" readonly="readonly"><br>
问卷ID<input type="text" name="sID" value="<%=sID %>" readonly="readonly"><br>
题目ID<input type="text" name="q_id" value="<%=q_id %>" readonly="readonly"><br>
    题目类型:<select name="question_type" onchange="change(this.value)">
        <%
            List<QuestionType> list = new ArrayList<QuestionType>();
            QuestionTypeDao dao = new QuestionTypeDaoImpl();
            list = dao.findAllQueType();// 调用实现类的查询全部方法
            for (int i = 0; i < list.size(); i++) {
                QuestionType qt = list.get(i);
        %>
        <option value="<%=qt.getQt_id()%>"
            <%
            if(q!=null){
            if (qt.getQt_id() == q.getQ_type().getQt_id()) {%>selected <%}}%>>
            <%=qt.getQt_des()%></option>
        <%
            }
        %>
    </select><br> 这里没你想要的类型?请填写新的类型。<br>
     <input type="text" name="newType"><br> 
     <input type="submit" value="添加" name="addNewType">&nbsp;&nbsp; 
     <input type="reset" value="重置" name="reset"><br> 
     题目名称:
     <input type="text" id="q_head" name="q_head"/><br>
    题目描述及备注:<br>
    <textarea cols="100" rows="4" id="q_remarks" name="q_remarks"></textarea><br> 
     题目个数:
     <input type="text" id="q_number" name="q_number" /><br>
     <span id="content"> 选项内容(一行一个选项):</span><br>
     <textarea cols="100" rows="5" id="q_body" name="q_body"></textarea><br> 

     <input type="submit" value="提交" name="submit">&nbsp;&nbsp; 
     <input type="reset" value="重置" name="reset">
</form>


<script type="text/javascript">
function initialise(){
    <%if(q!=null){
        System.out.println(q.getQ_head()+"***JS******q.getQ_head()");
        %>
    document.getElementById("q_head").value="<%=q.getQ_head()%>";
    document.getElementById("q_remarks").value="<%=q.getQ_remarks()%>";
    document.getElementById("q_number").value="<%=q.getQ_number()%>";
    document.getElementById("q_body").value="<%=q.getQ_body()%>";
    if(<%=q.getQ_type().getQt_des()%>=="单选+输入"||<%=q.getQ_type().getQt_des()%>=="多选+输入"){
        document.getElementById("content").innerHTML ="选项内容(一行一个选项,最后一行为输入框的提示语):"; 
    }
    else{
        document.getElementById("content").innerHTML ="选项内容(一行一个选项):"; 
    }
<%}%>
};
function change(type){
    if(type==3||type==4){
        document.getElementById("content").innerHTML ="选项内容(一行一个选项,最后一行为输入框的提示语):"; 
    }
    else{
        document.getElementById("content").innerHTML ="选项内容(一行一个选项):"; 
    }

}
</script>

[/code]

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • jinbingchuan 2013-08-19 10:35
    已采纳

    你直接

         <input type="text" id="q_number" name="q_number" value="<%=(q.getQ_number()==null?"":q.getQ_number())%>"/><br>  
    

    你使用js直接填充,真的多余了,简单的问题搞复杂了

    已采纳该答案
    打赏 评论
  • chenxiang105 2013-08-19 10:55

    看得好累啊, 你是哪个值没有填充还是全部都没有??

    打赏 评论
  • M44346460 2013-08-19 18:03

    前端的填充与后端传来的值相关,如此 的话,哪里用什么JS,你直接在JSP页面里赋值不就行了?

    打赏 评论
  • apple_shan 2013-08-20 10:07

    酱紫写页面,你是自寻死路!21世界了,来点新鲜的吧!

    打赏 评论

相关推荐 更多相似问题