Bir form göndermeye çalışıyorum ve Kendo UI, serileştirildiğinde form alanlarına sahip vidalar ve serileştirilmiş nesnede bir kopya alanı oluşturduğunu fark ettim. Birinin daha önce karşılaşıp karşılaşmadığını ve bir çözüm olup olmadığını bilmek istiyorum.JQuery Serialize Form - Kendo UI Yinelenen Girişler
Diyelim ki bir formun JQuery AJAX postunu yapmak istiyorum.
$.ajax({
type: "POST",
url: "/api/MyController",
data: formData
});
Böyle basit bir formum olabilir.
<form id="myForm">
<input type="text" name="firstName">
</form>
I (formData değişkeni kullanılır) benim form verilerini seri hale getirmek istiyorsanız, bunu yapardı.
var formData = $('#myForm').serializeArray();
Konsoldaki çıktı buna benzer.
[Object { name="firstName", value="John"}]
Şimdi sorun. Eğer Kendo UI kullanıyorum ve bu girdiden bir açılır kutu veya birleşik giriş yapıyorum ve formu serileştirmeye çalışıyorum, başka bir giriş (alt çizgiye sahip olanı) tanınıyor. Eğer aşina değilseniz
[Object { name="firstName_input", value="John"}, Object { name="firstName", value="John"}]
, Kendo UI veri için bir API uzaktan görüşmeleri ile comboboxes veya açılır listeleri oluşturmak için basit girişini kullanır. İşte combobox nasıl oluşturulur.
var firstNameComboBox= $('#firstName').kendoComboBox({
placeholder: "Select a Name",
dataTextField: "Name",
dataValueField: "ID",
change: myChangeFunction, //On change event
dataSource: {
type: "json",
transport: {
read: {
dataType: "json",
url: "/api/MyController/MyAction",
data: { }
},
}
}
}).data("kendoComboBox");
Kendo comboBox oluşturulduktan sonra girişin html'sini ekleyebilir misiniz? – unicorn2
İyi Kendo, giriş kutusunun girişinden çıkışını oluşturur. İlk önce orada olmalı. Hedeflenecek bir şeye ihtiyacı var. – madvora
Evet haklısınız, ancak F12 kullanın ve html'yi inceleyin. Kendo belki de sizin bir şeyler yapıyor olmanızın farkında değilsiniz – unicorn2