Correzione JS per input con stesso ID
This commit is contained in:
parent
bc2dea3f74
commit
f96a2789bc
18
add.php
18
add.php
|
@ -53,15 +53,10 @@ echo '
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
cleanup_inputs();
|
let form = $("#custom_fields_top-add").parent().find("form").first();
|
||||||
|
|
||||||
var form = $("#custom_fields_top-add").parent().find("form").first();
|
// Ultima sezione/campo del form
|
||||||
|
let last = form.find(".panel").last();
|
||||||
// Campi a inizio form
|
|
||||||
form.prepend($("#custom_fields_top-add").html());
|
|
||||||
|
|
||||||
// Campi a fine form
|
|
||||||
var last = form.find(".panel").last();
|
|
||||||
|
|
||||||
if (!last.length) {
|
if (!last.length) {
|
||||||
last = form.find(".box").last();
|
last = form.find(".box").last();
|
||||||
|
@ -71,8 +66,11 @@ $(document).ready(function(){
|
||||||
last = form.find(".row").eq(-2);
|
last = form.find(".row").eq(-2);
|
||||||
}
|
}
|
||||||
|
|
||||||
last.after($("#custom_fields_bottom-add").html());
|
// Campi a inizio form
|
||||||
restart_inputs();
|
aggiungiContenuto(form, "#custom_fields_top-add", {}, true);
|
||||||
|
|
||||||
|
// Campi a fine form
|
||||||
|
aggiungiContenuto(last, "#custom_fields_bottom-add", {});
|
||||||
});
|
});
|
||||||
</script>';
|
</script>';
|
||||||
|
|
||||||
|
|
|
@ -488,16 +488,6 @@ function restart_inputs() {
|
||||||
$('.openstamanager-input').each(function () {
|
$('.openstamanager-input').each(function () {
|
||||||
input(this);
|
input(this);
|
||||||
});
|
});
|
||||||
/*
|
|
||||||
start_datepickers();
|
|
||||||
start_inputmask();
|
|
||||||
|
|
||||||
initNumbers();
|
|
||||||
start_superselect();
|
|
||||||
|
|
||||||
// Autosize per le textarea
|
|
||||||
initTextareaInput($('.autosize'));
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -707,12 +697,13 @@ function hideTableColumn(table, column) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Funzione per aggiungere in un *endpoint* il contenuto di uno specifico *template*, effettuando delle sostituzioni di base e inizializzando i campi aggiunti.
|
* Funzione per aggiungere in un *endpoint* il contenuto di uno specifico *template*, effettuando delle sostituzioni di base e inizializzando i campi aggiunti.
|
||||||
* @param endpoint_selector
|
* @param {string|jQuery|HTMLElement} endpoint_selector
|
||||||
* @param template_selector
|
* @param {string|jQuery|HTMLElement} template_selector
|
||||||
* @param replaces
|
* @param {object} replaces
|
||||||
|
* @param {boolean} prepend
|
||||||
* @returns {*|jQuery|HTMLElement}
|
* @returns {*|jQuery|HTMLElement}
|
||||||
*/
|
*/
|
||||||
function aggiungiContenuto(endpoint_selector, template_selector, replaces = {}) {
|
function aggiungiContenuto(endpoint_selector, template_selector, replaces = {}, prepend = false) {
|
||||||
let template = $(template_selector);
|
let template = $(template_selector);
|
||||||
let endpoint = $(endpoint_selector);
|
let endpoint = $(endpoint_selector);
|
||||||
|
|
||||||
|
@ -729,7 +720,11 @@ function aggiungiContenuto(endpoint_selector, template_selector, replaces = {})
|
||||||
|
|
||||||
// Aggiunta del contenuto
|
// Aggiunta del contenuto
|
||||||
let element = $(content);
|
let element = $(content);
|
||||||
|
if (prepend) {
|
||||||
|
endpoint.prepend(element);
|
||||||
|
} else {
|
||||||
endpoint.append(element);
|
endpoint.append(element);
|
||||||
|
}
|
||||||
|
|
||||||
// Rigenerazione degli input interni
|
// Rigenerazione degli input interni
|
||||||
element.find('.openstamanager-input').each(function () {
|
element.find('.openstamanager-input').each(function () {
|
||||||
|
|
18
editor.php
18
editor.php
|
@ -263,15 +263,10 @@ if (empty($record) || !$has_access) {
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
cleanup_inputs();
|
let form = $("#module-edit").parent().find("form").first();
|
||||||
|
|
||||||
var form = $("#module-edit").find("form").first();
|
// Ultima sezione/campo del form
|
||||||
|
let last = form.find(".panel").last();
|
||||||
// Campi a inizio form
|
|
||||||
form.prepend($("#custom_fields_top-edit").html());
|
|
||||||
|
|
||||||
// Campi a fine form
|
|
||||||
var last = form.find(".panel").last();
|
|
||||||
|
|
||||||
if (!last.length) {
|
if (!last.length) {
|
||||||
last = form.find(".box").last();
|
last = form.find(".box").last();
|
||||||
|
@ -281,8 +276,11 @@ if (empty($record) || !$has_access) {
|
||||||
last = form.find(".row").eq(-2);
|
last = form.find(".row").eq(-2);
|
||||||
}
|
}
|
||||||
|
|
||||||
last.after($("#custom_fields_bottom-edit").html());
|
// Campi a inizio form
|
||||||
restart_inputs();
|
aggiungiContenuto(form, "#custom_fields_top-edit", {}, true);
|
||||||
|
|
||||||
|
// Campi a fine form
|
||||||
|
aggiungiContenuto(last, "#custom_fields_bottom-edit", {});
|
||||||
});
|
});
|
||||||
</script>';
|
</script>';
|
||||||
|
|
||||||
|
|
|
@ -35,20 +35,18 @@ echo '
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{[ "type": "select", "label": "'.tr('Tipo di anagrafica').'", "name": "idtipoanagrafica[]", "multiple": "1", "required": 1, "values": "query=SELECT idtipoanagrafica AS id, descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica NOT IN (SELECT DISTINCT(x.idtipoanagrafica) FROM an_tipianagrafiche_anagrafiche x INNER JOIN an_tipianagrafiche t ON x.idtipoanagrafica = t.idtipoanagrafica INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = x.idanagrafica WHERE t.descrizione = \'Azienda\' AND deleted_at IS NULL) ORDER BY descrizione", "value": "'.(isset($idtipoanagrafica) ? $idtipoanagrafica : null).'", "readonly": '.(!empty(get('readonly_tipo')) ? 1 : 0).' ]}
|
{[ "type": "select", "label": "'.tr('Tipo di anagrafica').'", "name": "idtipoanagrafica[]", "id": "idtipoanagrafica_add", "multiple": "1", "required": 1, "values": "query=SELECT idtipoanagrafica AS id, descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica NOT IN (SELECT DISTINCT(x.idtipoanagrafica) FROM an_tipianagrafiche_anagrafiche x INNER JOIN an_tipianagrafiche t ON x.idtipoanagrafica = t.idtipoanagrafica INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = x.idanagrafica WHERE t.descrizione = \'Azienda\' AND deleted_at IS NULL) ORDER BY descrizione", "value": "'.(isset($idtipoanagrafica) ? $idtipoanagrafica : null).'", "readonly": '.(!empty(get('readonly_tipo')) ? 1 : 0).' ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{[ "type": "text", "label": "'.tr('Cognome').'", "name": "cognome", "id": "cognome_add", "required": 0 ]}
|
{[ "type": "text", "label": "'.tr('Cognome').'", "name": "cognome", "id": "cognome_add" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{[ "type": "text", "label": "'.tr('Nome').'", "name": "nome", "id": "nome_add", "required": 0 ]}
|
{[ "type": "text", "label": "'.tr('Nome').'", "name": "nome", "id": "nome_add" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>';
|
</div>';
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
|
@ -72,10 +70,8 @@ echo '
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{[ "type": "select", "label": "'.tr('Tipologia').'", "name": "tipo", "values": "list=\"\": \"'.tr('Non specificato').'\", \"Azienda\": \"'.tr('Azienda').'\", \"Privato\": \"'.tr('Privato').'\", \"Ente pubblico\": \"'.tr('Ente pubblico').'\"" ]}
|
{[ "type": "select", "label": "'.tr('Tipologia').'", "name": "tipo", "id": "tipo_add", "values": "list=\"\": \"'.tr('Non specificato').'\", \"Azienda\": \"'.tr('Azienda').'\", \"Privato\": \"'.tr('Privato').'\", \"Ente pubblico\": \"'.tr('Ente pubblico').'\"" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@ -99,7 +95,7 @@ echo '
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{[ "type": "select", "label": "'.tr('Nazione').'", "name": "id_nazione", "values": "query=SELECT id AS id, CONCAT_WS(\' - \', iso2, nome) AS descrizione FROM an_nazioni ORDER BY CASE WHEN iso2=\'IT\' THEN -1 ELSE iso2 END" ]}
|
{[ "type": "select", "label": "'.tr('Nazione').'", "name": "id_nazione", "id": "id_nazione_add", "values": "query=SELECT id AS id, CONCAT_WS(\' - \', iso2, nome) AS descrizione FROM an_nazioni ORDER BY CASE WHEN iso2=\'IT\' THEN -1 ELSE iso2 END" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
|
@ -125,7 +121,7 @@ echo '
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{[ "type": "text", "label": "'.tr('Codice destinatario').'", "name": "codice_destinatario", "required": 0, "class": "text-center text-uppercase alphanumeric-mask", "maxlength": "7", "extra": "", "help": "'.tr($help_codice_destinatario).'", "readonly": "1" ]}
|
{[ "type": "text", "label": "'.tr('Codice destinatario').'", "name": "codice_destinatario", "class": "text-center text-uppercase alphanumeric-mask", "maxlength": "7", "extra": "", "help": "'.tr($help_codice_destinatario).'", "readonly": "1" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -141,39 +137,37 @@ echo '
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
var nome = $('#nome_add', '#modals > div');
|
var nome = input("nome");
|
||||||
var cognome = $('#cognome_add', '#modals > div');
|
var cognome = input("cognome");
|
||||||
var ragione_sociale = $('#ragione_sociale_add', '#modals > div');
|
var ragione_sociale = input("ragione_sociale");
|
||||||
|
var id_nazione = input("id_nazione");
|
||||||
|
|
||||||
// Abilito solo ragione sociale oppure solo nome-cognome in base a cosa compilo
|
// Abilito solo ragione sociale oppure solo nome-cognome in base a cosa compilo
|
||||||
nome.keyup(function () {
|
nome.on("keyup", function () {
|
||||||
if ($(this).val()) {
|
if (nome.get()) {
|
||||||
ragione_sociale.prop('disabled', true).prop('required', false);
|
ragione_sociale.disable();
|
||||||
} else if (!cognome.val()) {
|
} else if (!cognome.get()) {
|
||||||
ragione_sociale.prop('disabled', false).prop('required', true);
|
ragione_sociale.enable();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
cognome.keyup(function () {
|
cognome.on("keyup", function () {
|
||||||
if ($(this).val()) {
|
if (cognome.get()) {
|
||||||
ragione_sociale.prop('disabled', true).prop('required', false);
|
ragione_sociale.disable();
|
||||||
} else if (!nome.val()) {
|
} else if (!nome.get()) {
|
||||||
ragione_sociale.prop('disabled', false).prop('required', true);
|
ragione_sociale.enable();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
ragione_sociale.keyup(function () {
|
ragione_sociale.on("keyup", function () {
|
||||||
if ($(this).val()) {
|
let disable = ragione_sociale.get() !== "";
|
||||||
nome.prop('disabled', true).prop('required', false);
|
|
||||||
cognome.prop('disabled', true).prop('required', false);
|
nome.setDisabled(disable);
|
||||||
} else {
|
cognome.setDisabled(disable);
|
||||||
nome.prop('disabled', false).prop('required', true);
|
|
||||||
cognome.prop('disabled', false).prop('required', true);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
input("id_nazione").change(function() {
|
id_nazione.change(function() {
|
||||||
if (input("id_nazione").getElement().selectData().descrizione === 'IT - Italia'){
|
if (id_nazione.getData().descrizione === 'IT - Italia'){
|
||||||
input("codice_destinatario").enable();
|
input("codice_destinatario").enable();
|
||||||
}else{
|
}else{
|
||||||
input("codice_destinatario").disable();
|
input("codice_destinatario").disable();
|
||||||
|
|
|
@ -32,6 +32,7 @@ class SelectHandler implements HandlerInterface
|
||||||
{
|
{
|
||||||
$values['class'][] = 'openstamanager-input';
|
$values['class'][] = 'openstamanager-input';
|
||||||
$values['class'][] = 'select-input';
|
$values['class'][] = 'select-input';
|
||||||
|
$values['data-select2-id'][] = $values['id'].'_'.rand(0, 999);
|
||||||
|
|
||||||
$source = isset($values['ajax-source']) ? $values['ajax-source'] : (isset($values['select-source']) ? $values['select-source'] : null);
|
$source = isset($values['ajax-source']) ? $values['ajax-source'] : (isset($values['select-source']) ? $values['select-source'] : null);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue