Неправильно работает кнопка
Здравствуйте, Уважаемые форумчане. Устроился буквально недавно java-программистом и оказалось так, что нужно знать javascript, к которому я отношения вообще не имел. Суть: на web-странице имеется 8 полей (сверху 4 и снизу 4, а по середине кнопка). Так вот, при нажатии кнопки нужно чтобы значения с 2 верхних полей копировались в 2 нижних, а по факту копируется в одно и остальные 3 просто либо затираются, либо не копируются. Вот кусок кода, который я как понял отвечает за нажатие на кнопку, оставленный предыдущим разработчиком:
$("#btn-copy").click(function () { $("#cpParams").find("input,select").each(function () { var name = $(this).attr("name"); if (!!name) { var value = $(this).val(); var id2 = name.replace(/'cp_/g, "'cp_sewer_"); id2 = id2.replace(/'/g, "\\'"); $("[name='" + id2 + "']").val(value); } }); }); Прошу помощи. При необходимости скину остальную часть кода |
Необходимость такая есть.
|
var connPointActivity = { init: function () { var me = this; accordionFunc(); initUI(); $(".switch").bootstrapSwitch(); var connPointId = $("#connpoint-id").val(); me.connPointId = connPointId; this.baCladdr = $("#ba").cofUltimateCladdr(); this.cpCladdr = $("#cp").cofUltimateCladdr(); this.cpSewerCladdr = $("#cp_sewer").cofUltimateCladdr(); this.loadFromCookies(); // $("form").valid(); $("#btn-copy").click(function () { $("#cpParams").find("input,select").each(function () { var name = $(this).attr("name"); if (!!name) { var value = $(this).val(); var id2 = name.replace(/'cp_/g, "'cp_sewer_"); id2 = id2.replace(/'/g, "\\'"); $("[name='" + id2 + "']").val(value); } }); }); $("#CPResource").change(function () { var id = $("#CPResource").val(); $("#CPSource").foo("t" + id); $("#CPType").foo("t" + id); }); var id = $("#CPResource").val(); $("#CPSource option:not(.t" + id + ")").appendTo($("#CPSource").siblings("div.hiddenOptions")); $("#CPType option:not(.t" + id + ")").appendTo($("#CPType").siblings("div.hiddenOptions")); $("#CPSewerResource").change(function () { var id = $("#CPSewerResource").val(); $("#CPSewerSource").foo("t" + id); $("#CPSewerType").foo("t" + id); }); var id = $("#CPSewerResource").val(); $("#CPSewerSource option:not(.t" + id + ")").appendTo($("#CPSewerSource").siblings("div.hiddenOptions")); $("#CPSewerType option:not(.t" + id + ")").appendTo($("#CPSewerType").siblings("div.hiddenOptions")); var cpnamechanged = false; $("#connection-union-name").keyup(function () { if (!cpnamechanged) { var name = $(this).val(); $("#CPName").val(name); } }); $("#CPName").change(function () { var name = $(this).val(); if (!name || name == "") { cpnamechanged = false; } else { cpnamechanged = true; } }) if (!!connPointId) { this.loadContractObjectCalcPointsList([ {field: "connectionPoint.id", value: connPointId, filterType: "EQ"} ]); } if (true || USER_GROUP == "JUR_GROUP") { $("#btn-add-accDevice").click(function () { if (!$(this).hasClass("disabled")) { $.cookie("data['connpoint_id']", me.connPointId); goto("/accdevice", null); } }); $("#btn-add-accDevice-del").click(function () { if (!$(this).hasClass("disabled")) $.ajax({ type: "post", data: "id=" + $("#cp-accDevices-list")[0].selected, url: "/app/contract/connectionpoint/accdevice/delete", success: function (result) { $("#btn-add-accDevice-del").addClass("disabled"); me.loadAccountDevicesList([ {field: "connectionPoint.id", value: connPointId, filterType: "EQ"}, {field: "accountingDevice", filterType: "NOT_NULL"} ]); }, error: function (e) { showError('Ошибка: ' + e.statusText); } }) }); if (!!connPointId) { this.loadAccountDevicesList([ {field: "connectionPoint.id", value: connPointId, filterType: "EQ"}, {field: "accountingDevice", filterType: "NOT_NULL"} ]); } this.loadSubabonentsList([ {field: "parent.id", value: connPointId, filterType: "EQ"} ]); this.loadAccountChangeList([ {field: "connectionPoint.id", value: connPointId, filterType: "EQ"} ]); } if (!!connPointId) { this.loadPlombs1List([ {field: "connectionPoint.id", value: connPointId, filterType: "EQ"} ]); } this.loadChargesList([ {field: "connectionPoint.id", value: connPointId, filterType: "EQ"} ]); $("#btn-add-norm").click(function () { // if ($("#btn-add-norm").hasClass("disabled")) // return; if (connPointId) $.cookie("data['connpoint_id']", connPointId); goto("/connpointnorms", null); }); $("#btn-add-charge").click(function () { if (connPointId) $.cookie("data['connpoint_id']", connPointId); goto("/charge", null); }); $("#btn-add-loopline").click(function () { if (connPointId) $.cookie("data['connpoint_id']", connPointId); goto("/loopline", null); }); $("#btn-add-looplinevalveseal").click(function () { var looplineId = $("#cp-plombs-list")[0].selected; if (looplineId) $.cookie("data['loopline_id']", looplineId); goto("/looplinevalveseal", null); }); var toggleLoading = function (elem) { return elem.toggleLoading({addClass: "loading-combobox"}); } $("#CPIngeneerDep").change(function () { var id = $("#CPIngeneerDep").val(); if (id == null) return; $("#CPIngeneer").find("option").removeAttr("selected"); $("#CPController").find("option").removeAttr("selected"); $("#CPIngeneer").val(null); $("#CPController").val(null); if (id == "") { $("#CPIngeneer").attr("disabled", ""); $("#CPController").attr("disabled", ""); return; } toggleLoading($("#CPIngeneer")); toggleLoading($("#CPController")); $.ajax({ type: "post", data: "id=" + id, url: "/app/employee/ingeneer_controller", success: function (result) { result = $.parseJSON(result); var ingeneers = result.ingeneers; var controllers = result.controllers; $("#CPIngeneer").empty(); if (ingeneers.length > 0) { $("#CPIngeneer").append("<option></option>"); for (var i = 0; i < ingeneers.length; i++) { $("#CPIngeneer").append("<option value='" + ingeneers[i].id + "'>" + ingeneers[i].name + "</option>"); } $("#CPIngeneer").loaded = true; $("#CPIngeneer").removeAttr("disabled"); $("#CPIngeneer").change(); } else { $("#CPIngeneer").attr("disabled", ""); } $("#CPController").empty(); if (controllers.length > 0) { $("#CPController").append("<option></option>"); for (var i = 0; i < controllers.length; i++) { $("#CPController").append("<option value='" + controllers[i].id + "'>" + controllers[i].name + "</option>"); } $("#CPController").loaded = true; $("#CPController").removeAttr("disabled"); $("#CPController").change(); } else { $("#CPController").attr("disabled", ""); } toggleLoading($("#CPIngeneer")); toggleLoading($("#CPController")); }, error: function (e) { showError('Ошибка: ' + e.statusText); } }); }); $("#btn-submit").click(function () { var valid = $("form").valid(); if (!valid) { if (!$("#connpoint-union-id").val() && !$("#creatingUnion").prop("checked")) { showInfo("Выберите объект на предыдущей форме или поставьте переключатель на создание нового объекта"); return; } |
showInfo("Заполните все обязательные поля"); markRequiredGroups(); return; } var showCladdrError = function () { showInfo("Заполните адрес в параметрах здания до уровня дом"); } var urlToSave = ""; if (USER_GROUP == "JUR_GROUP") { urlToSave = "/app/contract/connectionpoint/save2"; if (!me.cpCladdr.house) { showCladdrError(); return; } } else { urlToSave = "/app/contract/connectionpoint/save2"; if (!me.baCladdr.house) { showCladdrError(); return; } } $.ajax({ type: "post", data: $("#form-connpoint").serialize(), url: urlToSave, success: function (resp) { showSuccess("Точка расчета успешно сохранена."); // $.cookie("data['connpoint_id']", resp); goto("/connpoint", resp); $("#btn-add-norm").removeAttr("disabled"); }, error: function (e) { showError('Ошибка: ' + e.statusText); } }); }); $("#btn-reset").click(function () { $("#form-connpoint").each(function () { this.reset(); }); showSuccess("Все изменения отменены."); }); }, loadFromCookies: function () { var me = this; var cookie = $.cookie("data['connpoint_union_id']"); if (cookie) { $("#connpoint-union-id").val(cookie); $.cookie("data['connpoint_union_id']", null); } cookie = $.cookie("data['connection_union_name']"); if (cookie) { $("#connection-union-name").val(cookie); $.cookie("data['connection_union_name']", null); } cookie = $.cookie("data['contract_id']"); if (cookie) { $("#contract-id").val(cookie); $.cookie("data['contract_id']", null); } cookie = $.cookie("cityId"); var city; if (cookie) { city = { id: cookie, name: $.cookie("cityName") }; //$.cookie("cityId", null); //$.cookie("cityName", null); } cookie = $.cookie("districtId"); var district; if (cookie) { district = { id: cookie, name: $.cookie("districtName") }; //$.cookie("districtId", null); //$.cookie("districtName", null); } cookie = $.cookie("streetId"); var street; if (cookie) { street = { id: cookie, name: $.cookie("streetName") }; //$.cookie("streetId", null); //$.cookie("streetName", null); } cookie = $.cookie("houseNumber"); var house; if (cookie) { house = cookie; //$.cookie("houseNumber", null); } if (USER_GROUP != "JUR_GROUP") { if (!me.connPointId) { // setCladdrValue($("#ba_claddr"), city, district, street, house); me.baCladdr.setAddress(city, district, street, house, null); me.cpCladdr.setAddress(city, district, street, house, null); } } }, loadContractObjectCalcPointsList: function (filters) { $("#cp-norms-list").cofTable({dataUrl: '/app/contract/connectionpoint/norms/list', params: {filter: JSON.stringify(filters)}, afterLoad: function (table) { table.find("tbody tr").dblclick(function () { var cpNormsId = $(this).data("id"); goto("/connpointnorms", cpNormsId); }); } }); }, loadAccountDevicesList: function (filters) { var me = this; $("#cp-accDevices-list").cofTable({dataUrl: '/app/contract/connectionpoint/accdevices/list', actionBar: $("#cpAccDevices .action-bar"), params: {filter: JSON.stringify(filters)}, afterLoad: function (table) { var tr = table.find("tbody tr"); if (tr.length > 0) { $("#btn-add-accDevice").addClass("disabled"); tr.dblclick(function () { var accDevId = $(this).data("id"); $.cookie("data['connpoint_id']", me.connPointId); goto("/card_accdevice", accDevId); }); } else { $("#btn-add-accDevice").removeClass("disabled"); } } }); }, loadSubabonentsList: function (filters) { $("#cp-subabonents-list").cofTable({dataUrl: '/app/contract/connectionpoint/subabonents/list', params: {filter: JSON.stringify(filters)}, afterLoad: function (table) { table.find("tbody tr").dblclick(function () { // var cpNormsId = $(this).data("id"); // goto("/connpointnorms", cpNormsId); }); } }); }, loadAccountChangeList: function (filters) { $("#cp-accountchange-list").cofTable({dataUrl: '/app/contract/connectionpoint/accountchange/list', params: {filter: JSON.stringify(filters)}, afterLoad: function (table) { table.find("tbody tr").dblclick(function () { // var cpNormsId = $(this).data("id"); // goto("/connpointnorms", cpNormsId); }); } }); }, loadPlombs1List: function (filters) { var me = this; $("#cp-plombs-list").cofTable({dataUrl: '/app/contract/connectionpoint/plombs1/list', params: {filter: JSON.stringify(filters)}, afterLoad: function (table) { table.find("tbody tr").dblclick(function () { var id = $(this).data("id"); goto("/loopline", id); }); table.find("tbody tr").click(function () { var id = $(this).data("id"); me.loadPlombs2List([ {field: "connectionPointLoopline.id", value: id, filterType: "EQ"} ]); $("#btn-add-looplinevalveseal").attr("disabled", false); }); } }); }, loadPlombs2List: function (filters) { $("#cp-plombs-list2").cofTable({dataUrl: '/app/contract/connectionpoint/plombs2/list', params: {filter: JSON.stringify(filters)}, afterLoad: function (table) { table.find("tbody tr").dblclick(function () { var id = $(this).data("id"); goto("/looplinevalveseal", id); }); } }); }, loadChargesList: function (filters) { $("#cp-invoices-list").cofTable({dataUrl: '/app/contract/connectionpoint/charges/list', params: {filter: JSON.stringify(filters)}, afterLoad: function (table) { // table.find("tbody tr").dblclick(function () { // var id = $(this).data("id"); // goto("/charge", id); // }); } }); } } |
Зачем?
на web-странице имеется 8 полей (сверху 4 и снизу 4, а по середине кнопка). Вот эту структур и надо показать, ибо с этим у вас проблема? |
|
Не совсем пойму, как выгружать картинку тут)
|
Не надо картинок, html структуру скопируйте со страницы, но только ту часть, которая относится к этим полям и кнопке.
|
<!DOCTYPE html> <html lang="en"> <head></head> <body> <div class="fullsize hide" data-loading-id="2355" style="opacity: 1;"></div> <div class="navbar navbar-inverse navbar-fixed-top"></div> <div class="container content"> ::before <div id="breadcrumbs"></div> <div id="content" style="display: block;"> <form id="form-contract" onsubmit="return false" method="post" action="/app/contract/save" novalidate="novalidate"> <input id="contractClient-id" type="hidden" value="" name="data['id']"></input> <input id="client-id" type="hidden" value="10368" name="data['client_id']"></input> <input id="copy-mode" type="hidden" value="" name="data['copy_mode']"></input> <input id="contract-id" type="hidden" value="" name="data['contract_id']"></input> <input id="contract-type" type="hidden" value="common" name="data['contract_type']"></input> <div class="action-bar-fixed pull-right"></div> <div class="content"> <div class="action-bar"></div> <div id="accordion" class="accordion"> <div class="accordion-group"></div> <div class="accordion-group"></div> <div class="accordion-group"></div> <div class="accordion-group"></div> <div class="accordion-group"> <div class="accordion-heading"></div> <div id="cpsParams" class="accordion-body collapse out in" style="height: auto;"> <div class="accordion-inner"> <fieldset></fieldset> <fieldset id="cpParams"> <legend></legend> <div class="row"></div> <div class="row"></div> <div class="row"></div> <div class="row"></div> <div class="row"></div> <div class="row"></div> <div class="row"></div> <div class="row"></div> <div class="row"> ::before <a id="btn-copy" class="btn btn-small btn-info span4"></a> ::after </div> </fieldset> <fieldset id="cpParamsSewer"></fieldset> </div> </div> </div> </div> </div> </form> <div id="btn-contract-conclusion-modal" class="modal hide fade" aria-hidden="true" aria-labelledby="myModalLabel" role="dialog" tabindex="-1"></div> </div> ::after </div> <div id="footer"></div> <script type="text/javascript" src="resources/js/lib/jquery/jquery-2.0.3.js"></script> <script type="text/javascript" src="resources/js/lib/jquery/jquery.ba-hashchange.min.js"></script> <script type="text/javascript" src="resources/js/lib/jquery/jquery.cookie.js"></script> <script type="text/javascript" src="resources/js/lib/jquery/toggleLoading.jquery.js"></script> <script type="text/javascript" src="resources/js/lib/jquery/jquery.validate.js"></script> <script type="text/javascript" src="resources/js/lib/jquery/messages_ru.js"></script> <script type="text/javascript" src="resources/js/lib/bootstrap/bootstrap.min.js"></script> <script type="text/javascript" src="resources/js/lib/bootstrap/bootstrap-datepicker.js"></script> <script type="text/javascript" src="resources/js/lib/bootstrap/bootstrap-switch.min.js"></script> <script type="text/javascript" src="resources/js/lib/cof/cof-table.js"></script> <script type="text/javascript" src="resources/js/lib/cof/cof-accordion.js"></script> <script type="text/javascript" src="resources/js/lib/cof/cof-claddr.js"></script> <script type="text/javascript" src="resources/js/lib/cof/cof-ultimate-claddr-advanced-pro-comfort.js"></script> <script type="text/javascript" src="resources/js/functions.js"></script> <script type="text/javascript" src="resources/js/main.js"></script> <script type="text/javascript" src="resources/js/activity/clients-activity.js"></script> <script type="text/javascript" src="resources/js/activity/contracts-activity.js"></script> <script type="text/javascript" src="resources/js/activity/card-client-activity.js"></script> <script type="text/javascript" src="resources/js/activity/client-employees-activity.js"></script> <script type="text/javascript" src="resources/js/activity/client-employee-activity.js"></script> <script type="text/javascript" src="resources/js/activity/card-contract-activity.js"></script> <script type="text/javascript" src="resources/js/activity/document-activity.js"></script> <script type="text/javascript" src="resources/js/activity/connPointSearchActivity.js"></script> <script type="text/javascript" src="resources/js/activity/connPointActivity.js"></script> <script type="text/javascript" src="resources/js/activity/connPointNormsActivity.js"></script> <script type="text/javascript" src="resources/js/activity/rbNormActivity.js"></script> <script type="text/javascript" src="resources/js/activity/connPointUnionActivity.js"></script> <script type="text/javascript" src="resources/js/activity/accdevice-activity.js"></script> <script type="text/javascript" src="resources/js/activity/card-accdevice-activity.js"></script> <script type="text/javascript" src="resources/js/activity/charge-activity.js"></script> <script type="text/javascript" src="resources/js/activity/loopline-activity.js"></script> <script type="text/javascript" src="resources/js/activity/looplinevalveseal-activity.js"></script> <script type="text/javascript" src="resources/js/activity/unauthorized-objects-activity.js"></script> <div id="loading_2355" class="toggle-loading" style="width: 1263px; height: 913px; left: 0px; top: 0px; display: none;"></div> <div id="loading_3810" class="toggle-loading" style="width: 1137px; height: 504px; left: 63.15px; top: 564.5px; display: none;"></div> <div id="loading_2794" class="toggle-loading" style="width: 1122px; height: 0px; left: 63.15px; top: 255.65px; display: none;"></div> <div id="loading_4195" class="toggle-loading" style="width: 1122px; height: 0px; left: 63.15px; top: 341.533px; display: none;"></div> <div id="loading_1589" class="toggle-loading" style="width: 1122px; height: 0px; left: 63.15px; top: 493.417px; display: none;"></div> <div id="loading_7211" class="toggle-loading" style="width: 1122px; height: 0px; left: 63.15px; top: 424.3px; display: none;"></div> </body> </html> Она? |
Обработчик кнопки ссылается на элемент <fieldset id="cpParams"> в котором ищет input и select, их в коде вашем нет. А из части имени этих полей формируются имена в которых происходит копирование, и их тоже нет в коде. Если эти поля добавляются в форму динамически, то скопируйте их структуру после добавления в отладчике, у этих полей в имени должны быть cp_, и cp_sewer_. Копируйте код касающийся только этих полей, не надо вываливать все.
|
Часовой пояс GMT +3, время: 03:11. |