2012-05-05 1 views
0

Мне нужна небольшая помощь. Во-первых, у меня есть страница с некоторыми значениями из базы данных в виде, например:javascript получить выбранное значение из формы (в веб-проекте Netbeans с БД)

out.println("<form method=\"post\" action=\"update.jsp?id=" + 
        rs.getString(1) +"\" onSubmit=\"return editF(this)\" id=\"editDiv"+ rs.getString(1) +"\" >" + SelectCat() +" </form>") 
public String SelectCat() 
    { 
     String result = "<select name=\"category\" >"; 
     try 
     { 
      String request = "SELECT * FROM cat"; 
      Statement st = getConnection().createStatement(); 
      ResultSet rs = st.executeQuery(request); 
      while (rs.next()) 
      { 
       result += "<option value=\"" + rs.getString(1) + "\">" + rs.getString(2) + "</option>"; 
      } 
     } 
     catch (Exception ex) 
     { 
      ex.printStackTrace(); 
     } 
     result += "</select>"; 
     return result; 
    } 

И мой Javascript функция

function editF(form) 
{ 
    alert("a"); 
    string header = form.header.value; 
    string text = form.text.value; 
    string category = form.category.selectedIndex.value; 
    var e = document.getElementByName("category"); 
    //var category = e.selectedIndex; 
    form.action = form.action + "&header="+header+"&text="+text+"&categoryID="+category; 
    return true; 
}; 

Но я не могу получить выбранное значение. Вы можете мне помочь? Спасибо!

ответ

1
var category = form.category.options[ form.category.selectedIndex ].value; 

Кроме того, javascript не является строго типизированным языком, вы не можете определить его тип при его объявлении. Вместо этого используйте var.

+0

Я взял линию со своей части javascript и сделал так, чтобы она могла работать. –

+0

Мне нужно вынуть эту строку. –

+0

Спасибо, что работает для меня! И да, я был в замешательстве относительно «string» и «var». :) –