2017-02-20 2 views
0

Ich möchte einige Eingaben von einem Formular in meiner JSP-Seite lesen, wo jeder Eingang denselben Namen hat. Siehe JSFiddleLesen von Servlet eine Formulareingabe mit Namen wie Eingabe []

Wie kann ich diese Eingaben von meinem Servlet lesen?

Ich versuchte String[] description = request.getParameterValues("description");, aber es funktioniert nicht ..

Gibt es eine Möglichkeit, um Schleife und diese Werte lesen?

counter = 0; 
 
var dataList = $('.products'); 
 
var jsonOptions = [{ 
 
    "product": "11111", 
 
    "description": "description 1" 
 
}, { 
 
    "product": "22222", 
 
    "description": "description 2" 
 
}, { 
 
    "product": "33333", 
 
    "description": "description 3" 
 
}]; 
 

 
jsonOptions.forEach(function(item) { 
 

 
    var option = '<option value="' + item.product + '">' + item.description + '</option>'; 
 

 
    dataList.append(option); 
 
}); 
 

 
$(function() { 
 
    $('body').on('input', '.product,.products', function() { 
 

 
    var i = this.value; 
 
    var description = ""; 
 
    var productsInBox = 0; 
 

 
    jsonOptions.forEach(function(a) { 
 
     if (a.product == i) { 
 
     description = a.description; 
 
     productsInBox = a.productsInBox; 
 
     } 
 
    }); 
 
    $(this).closest('.form-group').find('.description').val(description); 
 

 

 
    }); 
 
}); 
 

 

 

 

 

 
$('#form1').on('click', '.addButtonDED', function() { 
 
    var $template = $('.form-group:last').clone(true, true).find('input').val('').end(). 
 
    find('.addButtonDED').removeClass('addButtonDED').addClass('removeButtonDED').end() 
 
     .find('i').removeClass('fa-plus').addClass('fa-minus').end(); 
 
    $template.insertAfter('.form-group:last'); 
 
    }) 
 

 
    // Remove button click handler 
 
    .on('click', '.removeButtonDED', function() { 
 
    var $row = $(this).closest('.form-group'); 
 
    $row.remove(); 
 
    });
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" /> 
 
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet" /> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="form1" method="post" class="form-horizontal" role="form"> 
 
    <fieldset> 
 

 

 
    <div class="form-group"> 
 
     <div class="col-md-2"> 
 
     <input type="text" list="products" class="form-control product" name="product[]" /> 
 
     <datalist id="products" class="products"></datalist> 
 
     </div> 
 

 
     <div class="col-md-4"> 
 
     <input id="" type="text" class="form-control description" name=" description[]" /> 
 
     </div> 
 

 

 

 
     <div class="col-md-1"> 
 
     <button type="button" class="btn btn-default addButtonDED"><i class="fa fa-plus"></i></button> 
 
     </div> 
 
    </div> 
 

 
    <div class="col-md-10 "> 
 
     <button type="submit" name="formAction" value="next" class="btn btn-primary">sUBMIT</button> 
 

 
    </div> 
 

 

 

 
    </fieldset> 
 
</form>

Antwort

0

der Name Beschreibung Ändern

<input type="text" class="form-control" name="description" />

oder
String[] description = request.getParameterValues("description[]");

arbeiten sollte ich die erste bevorzugen würde, wie es weniger verwirrend ist.

0

Verwenden Sie entweder "description" als den Namen in Ihrem <Eingang> s, oder verwenden Sie request.getParameterValues("description[]"), aber verwenden Sie den gleichen Namen auf beiden Seiten.

0

das wird funktionieren.

String[] description = request.getParameterValues("description[]"); 
Verwandte Themen