[英]Getting undefined value from input field
因此,我有一個頁面,人們可以在其中隨機生成一些輸入字段,因此我需要獲取每個輸入的值並將其發送到我的php頁面。
棘手的是,我不知道最后會有多少輸入,因此我需要某種循環來拾取所有值。 這就是我現在所擁有的,一切似乎都還可以,我確實設法獲得了所有輸入字段。 但是由於某些原因,每個輸入字段的值似乎都未定義,有人知道為什么嗎?
$(document).on('click', '#izmena', function(){
$(function() {
var collectionA = $('.crtezInput');
var datas = [];
$.each(collectionA, function(idx, obj) {
datas.push({ 'input': $(obj).find('input').val() });
});
$.each(datas, function(idx, obj) {
crtezNaziv += obj.input +",";
});
console.log(crtezNaziv);
});
<div id="izmena_crteza">
<div class="headlinea">Crtezi</div>
<div class="crtez-form">
<input type="text" style="width:80%; margin-bottom:10px;" class="form-control upis-style crtezInput" placeholder="Naziv" value="Glavni izgled">
<i title="Obrisi Arhitektu" style="margin-top: -18px;" class="fa fa-times fa-2x deleteArh"></i>
<input type="text" style="margin-top:-20px; width:80%; margin-bottom:10px;" class="form-control upis-style crtezInput" placeholder="Razmera" value="1:100">
<input type="text" style="width:80%; margin-bottom:10px;" class="form-control upis-style crtezInput" placeholder="Tehnika" value="Tus">
</div>
<div class="crtez-form">
<input type="text" style="width:80%; margin-bottom:10px;" class="form-control upis-style crtezInput" placeholder="Naziv" value="Izgled sa strane">
<i title="Obrisi Arhitektu" style="margin-top: -18px;" class="fa fa-times fa-2x deleteArh"></i>
<input type="text" style="margin-top:-20px; width:80%; margin-bottom:10px;" class="form-control upis-style crtezInput" placeholder="Razmera" value="1:100">
<input type="text" style="width:80%; margin-bottom:10px;" class="form-control upis-style crtezInput" placeholder="Tehnika" value="Tus">
</div>
<div class="crtez-form">
<input type="text" style="width:80%; margin-bottom:10px;" class="form-control upis-style crtezInput" placeholder="Naziv" value="Presek a-b">
<i title="Obrisi Arhitektu" style="margin-top: -18px;" class="fa fa-times fa-2x deleteArh"></i>
<input type="text" style="margin-top:-20px; width:80%; margin-bottom:10px;" class="form-control upis-style crtezInput" placeholder="Razmera" value="1:100">
<input type="text" style="width:80%; margin-bottom:10px;" class="form-control upis-style crtezInput" placeholder="Tehnika" value="Tus">
</div>
</div>
你得到undefined
,因為你正在尋找input
您內的元素input
元素:
var collectionA = $('.crtezInput');
var datas = [];
$.each(collectionA, function(idx, obj) {
datas.push({'input': $(obj).find('input').val()});
// Here -------------^^^^^^^^^^^^^^^^^^^^^^^^^^
});
既然你不(實際上不可能 ),具有input
等中的元素input
元素, find
並沒有發現任何和val
返回undefined
。 (這是val
返回undefined
的唯一情況,btw:當您調用它的集合中沒有元素時,否則它總是返回一個字符串,可能為空。)
這是最小的更改:
var collectionA = $('.crtezInput');
var datas = [];
$.each(collectionA, function(idx, obj) {
datas.push({'input': $(obj).val()});
});
...但是我可能會更直接一點:
var collectionA = $('.crtezInput');
var datas = collectionA.map(function() {
return {input: this.value};
}).get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.