API Bing Map AutoSuggest с веб-формами ASP.Net

Я решил это своей собственной функцией. Если вы хотите обновить указанное поле в документе, вам необходимо четко указать его.

Пример:

{
    _id : ...,
    some_key: { 
        param1 : "val1",
        param2 : "val2",
        param3 : "val3"
    }
}

Если вы хотите обновить только param2, это неправильно:

db.collection.update(  { _id:...} , { $set: { some_key : new_info  } }  //WRONG

Вы должны использовать:

db.collection.update(  { _id:...} , { $set: { some_key.param2 : new_info  } } 

Итак, я написал какую-то функцию:

function _update($id, $data, $options=array()){

    $temp = array();
    foreach($data as $key => $value)
    {
        $temp["some_key.".$key] = $value;
    } 

    $collection->update(
        array('_id' => $id),
        array('$set' => $temp)
    );

}

_update('1', array('param2' => 'some data'));
1
задан Vadim Gremyachev 25 April 2019 в 16:42
поделиться

1 ответ

Это ожидаемое поведение, вы можете запретить отправку кнопки enter для формы, подобной этой:

document.querySelector('form').addEventListener('submit', function (e) {
        e.preventDefault();
}, false); 

или для каждого элемента ввода:

 function onLoad() {
     var options = { maxResults: 8 };
     initAutosuggestControl(options, "searchBox", "searchBoxContainer");
     initAutosuggestControl(options, "searchBoxAlt", "searchBoxContainerAlt");

     disableInputSubmit(document.querySelector('#searchBox'));
     disableInputSubmit(document.querySelector('#searchBoxAlt'));
 }

где [ 116]

function disableInputSubmit(element) {
     element.addEventListener('keypress', function(e){
         if (e.which === 13) // Enter key = keycode 13
         {
            e.preventDefault();
         }
     },false);
}
0
ответ дан Vadim Gremyachev 25 April 2019 в 16:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: