Как получить доступ к значениям параметров клонированных элементов HTML (пробовал @FormParam; но не работает) в RESTful Web Service? - PullRequest
0 голосов
/ 01 мая 2018

Я пытаюсь получить доступ к параметрам 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> &nbsp             
                <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 отображается нулевое значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...