2017-01-27 4 views
0

Таким образом, я создаю этот сайт инвентаризации, поэтому водители вилочных погрузчиков могут добавлять или удалять вес из нашего инвентаря, мы измеряем наши продукты в весе.Meteor.js, называя конкретные данные от mongodb

Поэтому в основном я должен быть в состоянии принести вес (в кг) с Монго дб и добавить его к нему и сохранить его

// редактировать проблема у меня есть текущий код возвращается «NaN кг» в HTML

кг определяется числом, вставленной в БД, и я не могу показаться, чтобы получить значение кг без моего кода нарваться ошибки

This is the web part This is the modal adding the kg value

The Html  

    <form class="add-pro"> 
     <input type="text" class="form-control" name="namn" required="true" placeholder="Produkt Name"/> 
     <br /> 
     <input type="text" class="form-control" name="id" required="true" placeholder="Produkt code"/> 
     <br /> 
     <input type="number" class="form-control" placeholder="KG" name="kg" /> 
     <input id="btnModal" type="submit" value="add" class="btn btn-primary"/> 
    </form> 



     <form class="add-data"> 
     <input type="number" class="form-control" id="add-data-control" name="g" placeholder="how much"> 
     <button class="glyphicon glyphicon-plus" type="submit" id="add-data-plus" aria-hidden="true"></button> 
     </form> 

Javascript 

"submit .add-data": function(event){ 
    var g = event.target.g.value; 
    var x = produkter.find().fetch(); 
    var k = kg; 
    produkter.update(this._id, {$set: {kg: +k + +g }}); 
}, 


    Template.produkter.events({ 
"submit .add-pro": function(event){ 
var namn = event.target.namn.value; 
var id = event.target.id.value; 
var kg = event.target.kg.value; 

produkter.insert({ 
    namn: namn, 
    id: id, 
    kg: kg 
}); 
    return false; 

},

+0

В чем проблема? – Khang

+0

@Khang отредактировал его, чтобы сделать его более ясным. Я могу дать больше информации, если это необходимо. – toby

ответ

1

Есть несколько проблем с вашим кодом, см комментариев:

"submit .add-data": function(event){ 
    var g = event.target.g.value; 
    var x = produkter.find().fetch(); 
// Where is kg defined? 
    var k = kg; 
// The expression +k + +g does not compute - do you mean k+g ? 
    produkter.update(this._id, {$set: {kg: +k + +g }}); 
}, 

Вы также можете быть запущены в неприятность со строками по сравнению с числами. Даже если ваш тег ввода HTML говорит type="number", значение будет строкой и должно быть преобразовано в число перед сохранением его в базе данных.

Я подозреваю, что вы также намерены сохранить ценность как нечто вроде «2,7 кг», что полезно для отображения веса, но это плохая идея, потому что если вы это сделаете, вам нужно снять «кг» «каждый раз, когда вы хотите вычислить новое значение.

+0

Kg нарушает входной файл для добавления продукта в список , затем я запускаю collection.insert ({kg: kg}); и я получаю значение от ввода У меня также есть килограмм после значения, напечатанного внутри тега «p» @Mikkel – toby

+0

Ваш код не заполнен - ​​я не могу сказать, что неправильно с ним ... лучше отредактируйте фрагменты кода, чтобы включить соответствующие поля. Одно можно сказать и о том, что это выражение вызовет исключение (возможно, причина NaN (Not a Number)) – Mikkel

+0

Хорошо, я обновил его с информацией, необходимой @Mikkel – toby