Unë kam një formular që funksionon si duhet, përveç një pjese. Ka një kuti kontrolli të bërë me etiketa struts2 që kthen true/false për të zgjedhur/të pazgjedhur. Kur nuk kontrollohet, nuk shfaqet fare në JSON.
<s:checkbox name="chk1" id="chk1" fieldValue="true" theme="simple" />
<s:checkbox name="chk2" id="chk2" fieldValue="true" theme="simple" />
nëse chk1 është e kontrolluar dhe chk2 nuk është e kontrolluar, dalja JSON është:
Object { name="chk1", value="true"}
Object { name="__checkbox_chk1", value="true"}
Object { name="__checkbox_chk2", value="true"}
ajo që po kërkoj është:
Object { name="chk1", value="true"}
Object { name="__checkbox_chk1", value="true"}
Object { name="chk2", value="false"}
Object { name="__checkbox_chk2", value="true"}
Objekti i tij i fshehur i krijuar nga struts2 është atje "__checkbox_chk2", por "chk2" aktual nuk është.
Për të qenë të qartë, të dyja 'chk's dhe '__checkbox_chk' janë të pranishme në HTML, por vetëm 'chk' që janë të kontrolluara janë në JSON.
Ndonje ide?
Këtu është JQuery JSON im:
var dataVar ;
dataVar = $("#formWithChks").serializeArray();
$.ajax({
type: "POST",
url: "url",
data: dataVar,
success: function(data) {
// does something
}
.serializeArray
, sepse nuk po merrni JSON dhe nuk keni nevojë për të. Provoni të përdorni.serialize
. 13.12.2014serializeArray()
nuk do t'ju japë JSON, por ai konvertohet në JSON në server kur ktheni një rezultat json. 22.12.2014