Znalazłem taką funkcję, która zbiera wartości zaznaczonych opcji z pola multiselect i wstawiająca je w pole input, z którego pobieram dane i zapisuje je do bazy.
Zapis to inna bajka, potrzebuję tylko lekkiej modyfikacji tej funkcji.
Otóż, aby wywołać funkcję, muszę modyfikować całkowicie pole submit.
Muszę stworzyć pole ukryte o nazwie starego pola submit, a w miejsce submita dać to:
Kod
<input type='button' name='save' value='Zapisz' class='button' onclick=\"saveGroups('addcat');\" />
Jest to trochę uciążliwe, ponieważ jeśli mam dwa pola submit, jedno na przykład po podglądu, a drugie do zapisu, to przy kliknięiu podgląd, przez pole ukryte o nazwie pola submit, dane zapisują się.
Czy potrafiłby ktoś przerobić poniższą funkcję, aby zbierała te dane i wysyłała do stworzonego pola input już przy akcji onclick, ale od razu dla pola submit, a nie jak dotychczas, pola button?
Lub wywoływanej gdzieś w <form>?
Kod
function saveGroups(Form) {
var strValues = "";
var boxLength = document.getElementById('nazwa_pola_multigroups').length;
var count = 0;
if (boxLength != 0) {
for (i = 0; i < boxLength; i++) {
if (count == 0) {
strValues = document.getElementById('nazwa_pola_multigroups
').options[i].value;
} else if(document.getElementById('nazwa_pola_multigroups
').options[i].value != '') {
strValues = strValues + "." + document.getElementById('nazwa_pola_multigroups
').options[i].value;
}
count++;
}
}
if (strValues.length == 0) {
document.forms[Form].nazwa_pola_z_wartosciami_multiselect
.value = "0";
document.forms[Form].submit();
} else {
document.forms[Form].nazwa_pola_z_wartosciami_multiselect.value = strValues;
document.forms[Form].submit();
}
var strValues = "";
var boxLength = document.getElementById('nazwa_pola_multigroups').length;
var count = 0;
if (boxLength != 0) {
for (i = 0; i < boxLength; i++) {
if (count == 0) {
strValues = document.getElementById('nazwa_pola_multigroups
').options[i].value;
} else if(document.getElementById('nazwa_pola_multigroups
').options[i].value != '') {
strValues = strValues + "." + document.getElementById('nazwa_pola_multigroups
').options[i].value;
}
count++;
}
}
if (strValues.length == 0) {
document.forms[Form].nazwa_pola_z_wartosciami_multiselect
.value = "0";
document.forms[Form].submit();
} else {
document.forms[Form].nazwa_pola_z_wartosciami_multiselect.value = strValues;
document.forms[Form].submit();
}
Proszę o pomoc. Wiem, namieszałem z opisem, ale mam nadzieje, że mnie zrozumiecie

Pozdrawiam.