Я пытаюсь получить доступ к параметрам HTML-формы из веб-службы RESTful, но безуспешно. Все параметры формы легко доступны с помощью @FormParam, кроме клонированных элементов HTML, атрибуты которых устанавливаются с помощью attr (имя атрибута, значение) в jQuery. Вот мой HTML код
<div id="process_block">
<div id="process_operands" class="process_input">
<select name="process_operands">
<option name="PO" value="Process_Name">Process Name</option>
<option name="PO" value="Process_Path">Process Abspath</option>
<option name="PO" value="Process_Signature">Process Signature</option>
<option name="PO" value="Process_Acl">Process ACL</option>
<option name="PO" value="Process_Checksum">Process Checksum</option>
<option name="PO" value="Process_Type">Process Type</option>
</select>  
<input type=text name="PO_value" maxlength="5000">
</div>
<div id="Padditionalselects"></div>
<p class="add_PO">Add more</p>
</div>
Я клонирую список выбора при нажатии на кнопку Добавить еще и задаю значения их атрибутов. Вот мой код JS
$(document).ready(function(){
// Cloned elements count
var counter = 0;
$(".add_PO").click(function(){
// Increment the cloned element count
counter++;
// Clone the element and assign it to a variable
var clone = $("#process_operands").clone(true)
.append($('<a class="delete" href="#">Remove</a>'))
.appendTo("#Padditionalselects");
// Modify cloned element, using the counter variable
clone.find('select').attr('name', 'process_operands_'+counter);
clone.find('input').attr('name', 'PO_value_'+counter);
clone.attr('id', "process_operands_" + counter);
});
$("body").on('click',".delete", function() {
$(this).closest(".process_input").remove();
counter--; // Modify the counter
});
Пожалуйста, найдите мой веб-сервис, который пытается получить эти значения параметров.
@Path("/xml")
public class x{
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public String createMessage(@FormParam("process_operands") String process_operands,
@FormParam("PO_value") String PO_value,
@FormParam("process_operands_1") String process_operands_1,
@FormParam("PO_value_1") String PO_value_1) {
System.out.println(" PO: "+process_operands+" PO Value: "+ PO_value+" PO1: "+process_operands_1+" PO value1: "+PO_value_1 );
} }
Я могу получить значения для process_operands и PO_value. Но для process_operands_1 и PO_value_1 отображается нулевое значение.