I need to submit a HTML form dynamically. I have tried few ways of doing the same, but the values of the dynamically generated form elements were not retrieved upon form submission. Below is the code for client and server side. Kindly rectify my error. Thanks.
Client Side:
Expand|Select|Wrap|Line Numbers
- <script type="text/javascript">
- var count = 1;
- function addRow(tableID){
- count++;
- document.new_contact_form.count.value = count;
- var table = document.getElementById(tableID);
- var rowCount = table.rows.length;
- var row = table.insertRow(rowCount-1);
- var cell1 = row.insertCell(0);
- var element1 = document.createElement("input");
- element1.type = "checkbox";
- cell1.appendChild(element1);
- var cell2 = row.insertCell(1);
- var element2 = document.createElement("input");
- element2.type = "text";
- element2.size = "30";
- element2.name = "contact_name" + count;
- cell2.appendChild(element2);
- var cell3 = row.insertCell(2);
- var element3 = document.createElement("input");
- element3.type = "text";
- element3.size = "30";
- element3.name = "contact_number" + count;
- cell3.appendChild(element3);
- }
- function deleteRow(tableID){
- try {
- var table = document.getElementById(tableID);
- var rowCount = table.rows.length;
- count--;
- document.new_contact_form.count.value = count;
- for(var i=0; i<rowCount; i++) {
- var row = table.rows[i];
- var chkbox = row.cells[0].childNodes[0];
- if(null != chkbox && true == chkbox.checked) {
- table.deleteRow(i);
- rowCount--;
- i--;
- }
- }
- }catch(e) {
- alert(e);
- }
- }
- </script>
Expand|Select|Wrap|Line Numbers
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- response.setContentType("text/html");
- PrintWriter out = response.getWriter();
- scount = request.getParameter("count");
- count = Integer.parseInt(scount);
- try {
- Class.forName("oracle.jdbc.driver.OracleDriver");
- con = DriverManager.getConnection("jdbc:oracle:thin:@system-name:port:ServiceName", "username", "password");
- stmt = con.createStatement();
- } catch (Exception e) {
- e.printStackTrace();
- }
- for(int i = 1; i <= count; i++){
- contactNames[i] = request.getParameter("contact_name"+i); // DISPLAYS NULL POINTER EXEPTION HERE
- contactNumbers[i] = request.getParameter("contact_number"+i);
- try {
- stmt.executeUpdate("insert into sms_contacts values('Test_User','"
- + contactNames[i] + "','" + contactNumbers[i] + "')");
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- out.write("<b>Contact Details have been saved!</b>");
- }