Inputtan veriyi json ile alma
Merhaba,
inputtan gelen veriyi json ile js dosyama almak istiyorum. Bunu aşağıdaki şekilde denedim ancak olmuyor. Burada yaptığım yanlış nedir? Ya da nasıl bir yol izlemem lazım?
<input type="hidden" class="" name="demo" value="{'name':'John', 'birth':'1986-12-14', 'city':'New York'}">
<p id="demo"></p>
var ad = document.getElementsByName("demo");
var text = ad[0].defaultValue;
console.log(text);
var obj = JSON.parse(text);
obj.birth = new Date(obj.birth);
document.getElementById("demo").innerHTML = obj.name + ", " + obj.birth;
Teşekkürler..
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
Hocam ilk olarak:
var arr = [];
ile array oluşturup daha sonra formdaki tüm inputları forEachle alarak valuesini alarak arrayin input name ine atayabilirsiniz anlamamış olabileceğiniz için bir örnekle göstereceğim.
// "form>input" yerini değiştirebilirsiniz örnek ".denemeclass" şeklinde girebilirsiniz ancak
// id olarak girdiğinizde ("#denemeid") geçersiz olacaktır.
document.querySelectorAll("form>input").forEach(input => {
arr[input.name] = input.value;
});
Sonra Onu Ekrana veya Konsola yazdırabilirsiniz.
console.log(arr);
Ben bunu xhr ile nodejs e veri gönderirken kullanıyordum çünkü bodyParser json olarak almıyordu bende böyle bi algoritma kurup veriyi json olarak gönderdim.