+ Reply to Thread
Results 1 to 2 of 2

Thread: combobox (JSP, AJAX)

  1. #1

    combobox (JSP, AJAX)

    zdravim,

    som zaciatocnik v Jave, JSP a ajaxe a snazim sa vytvorit jednoduchy formular s comboboxom, ktory nacita nazvy nerastov z databazy a na zaklade nich potom vypise ich ID. Moj problem spociva v tom, ze ak nacitam nazov bez diakritiky tak sa jeho ID zobrazi spravne. Ak je to vsak s diakritikou, vypise chybu.. Nevie mi s tym prosim niekto pomoct?

    Tabulka vyzera takto:
    Code:
    NERASTID            NERASTNAZOV
    ----------------------------------------
          2                       ankerit
          3                       magnetit
          4                       markazit
          9                       nežiaruvzdorné íly
         110                    železné rudy
    .
    .
    .
    .atd..
    combo.jsp:
    Code:
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@page import="java.sql.*"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=7" />
    <title>podpora</title>
    
    <script type="text/javascript">
    
    	function showEmp(nerast_value)
    		{ 
    		if(document.getElementById("nerastid").value!="-1")
    		{
     			xmlHttp=GetXmlHttpObject();
    			
    			var url="getuser.jsp";
    			url=url+"?nerastnazov="+nerast_value;
    			
    			
    
    			xmlHttp.onreadystatechange=stateChanged;
    			xmlHttp.open("GET",url,true);
    			xmlHttp.send(null);
    
    		}
    		else
    		{
    			 alert("Please Select Employee Id");
    		}
    			
    	}
    
    	function stateChanged() 
    		{ 
    		
    		document.getElementById("nerastid").value ="";
    			if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
     			{ 
    	
     			 var showdata = xmlHttp.responseText; 
       			 var strar = showdata.split(":");
    	
    			 if(strar.length==1)
    	 		{
    		  		document.getElementById("nerastid").focus();
    		  		alert("Please Select Employee Id");
    		  		document.getElementById("nerastnazov").value =" ";
    		  		document.getElementById("nerastid").value =" ";
    
    	 		}
    	 		else if(strar.length>1)
    	 			{
    				var strname = strar[1];
    				document.getElementById("nerastid").value= strar[1];
    				
    				 }
    	
     			} 
    		}
    
    	function GetXmlHttpObject() 
    	{
    		var xmlHttp=null;
    		try
     			{
     			// Firefox, Opera 8.0+, Safari
     			xmlHttp=new XMLHttpRequest();
     			}
    		catch (e)
     			{
     			//Internet Explorer
     			try
      			{
      				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      			}
    	   catch (e)
      		{
      			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      		}
     	}
    	return xmlHttp;
    	}
    
    	
    </script>
    
    </head>
    <body>
    
    <form name="nerasty">
    
    
    
    <table border="0" width="400px" align="center" bgcolor="#ffffff">
    	<div id="mydiv"></div>
    	<tr>
    		<td>Druh nerastu</td>
    		<td><select name="nerasty" onchange="showEmp(this.value);">			
    			<option value="-1">----------Select-----------</option>
    			<%
    				
    			
    				Connection conn = null;
    
    				int sumcount = 0;
    				Statement st;
    				try {
    					Class.forName("oracle.jdbc.driver.OracleDriver");
    					conn = DriverManager.getConnection(
    							"jdbc:oracle:thin:@w08:1521:ORCL", "user","pass");
    					String query = "select * from V_TBL_NERASTY";
    
    					st = conn.createStatement();
    					ResultSet rs = st.executeQuery(query);
    			%>
    
    			<%
    				while (rs.next()) {
    			%>
    
    			 <option value="<%=rs.getString(2)%>"><%=rs.getString(2)%></option> 
    
    			<%
    				}
    			%>
    
    			<%
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			%>
    		</select></td>
    	
    	</tr>
    		<td>Kod:</td>
    		<td> <input type="text" id="nerastid" name="nerastid" value=""></td>
    	</tr>
    	
    </table>
    </form>
    <table border="0" width="100%" align="center">
    	
    
    	
    
    </table>
    </body>
    </html>
    getuser.jsp

    Code:
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ page import="java.sql.*"%>
    <%
    	
    	
    	String nerastnazov = request.getParameter("nerastnazov").toString();
    	
    	
    	String data = "";
    
    	Connection conn = null;
    
    	int sumcount = 0;
    	Statement st;
    	try {
    		Class.forName("oracle.jdbc.driver.OracleDriver");
    		conn = DriverManager.getConnection(
    				"jdbc:oracle:thin:@w08:1521:ORCL", "user","pass");
    		String query = "select * from V_TBL_NERASTY where nerastnazov = '"+nerastnazov+"'";
    		
    		
    		st = conn.createStatement();
    		ResultSet rs = st.executeQuery(query);
    		
    		
    		while (rs.next()) {
    			data = ":" + " " + rs.getString(1) + ":";
    			
    		}
    
    		out.println(data);
    	} catch (Exception e) {
    		e.printStackTrace();
    	}
    %>

  2. #2

    Re: combobox (JSP, AJAX)

    OK, je to vyriesene.. chyba bola v tom ze som posielala Stringy namiesto ID..

    combo.jsp
    Code:
    ...
    function showEmp(nerast_value)
          {
          if(document.getElementById("nerastid").value!="-1")
          {
              xmlHttp=GetXmlHttpObject();
             
             var url="getuser.jsp";
             url=url+"?nerastid="+nerast_value;
             
             
    
             xmlHttp.onreadystatechange=stateChanged;
             xmlHttp.open("GET",url,true);
             xmlHttp.send(null);
    ...
    <option value="<%=rs.getString(1)%>"><%=rs.getString(2)%></option> 
    ...
    getuser.jsp

    Code:
    ...
    String nerastid = request.getParameter("nerastid").toString(); 
    ...
    String query = "select * from V_TBL_NERASTY where nerastid = '"+nerastid+"'";

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts